Home | History | Annotate | Download | only in src

Lines Matching refs:opt

17 // Note that $opt$ is a marker for the optimizing compiler to test
141 assertLongEquals(1L, $opt$noinline$ByteToLong((byte)1));
142 assertLongEquals(0L, $opt$noinline$ByteToLong((byte)0));
143 assertLongEquals(-1L, $opt$noinline$ByteToLong((byte)-1));
144 assertLongEquals(51L, $opt$noinline$ByteToLong((byte)51));
145 assertLongEquals(-51L, $opt$noinline$ByteToLong((byte)-51));
146 assertLongEquals(127L, $opt$noinline$ByteToLong((byte)127)); // 2^7 - 1
147 assertLongEquals(-127L, $opt$noinline$ByteToLong((byte)-127)); // -(2^7 - 1)
148 assertLongEquals(-128L, $opt$noinline$ByteToLong((byte)-128)); // -(2^7)
152 assertLongEquals(1L, $opt$noinline$ShortToLong((short)1));
153 assertLongEquals(0L, $opt$noinline$ShortToLong((short)0));
154 assertLongEquals(-1L, $opt$noinline$ShortToLong((short)-1));
155 assertLongEquals(51L, $opt$noinline$ShortToLong((short)51));
156 assertLongEquals(-51L, $opt$noinline$ShortToLong((short)-51));
157 assertLongEquals(32767L, $opt$noinline$ShortToLong((short)32767)); // 2^15 - 1
158 assertLongEquals(-32767L, $opt$noinline$ShortToLong((short)-32767)); // -(2^15 - 1)
159 assertLongEquals(-32768L, $opt$noinline$ShortToLong((short)-32768)); // -(2^15)
163 assertLongEquals(1L, $opt$noinline$IntToLong(1));
164 assertLongEquals(0L, $opt$noinline$IntToLong(0));
165 assertLongEquals(-1L, $opt$noinline$IntToLong(-1));
166 assertLongEquals(51L, $opt$noinline$IntToLong(51));
167 assertLongEquals(-51L, $opt$noinline$IntToLong(-51));
168 assertLongEquals(2147483647L, $opt$noinline$IntToLong(2147483647)); // 2^31 - 1
169 assertLongEquals(-2147483647L, $opt$noinline$IntToLong(-2147483647)); // -(2^31 - 1)
170 assertLongEquals(-2147483648L, $opt$noinline$IntToLong(-2147483648)); // -(2^31)
174 assertLongEquals(1L, $opt$noinline$CharToLong((char)1));
175 assertLongEquals(0L, $opt$noinline$CharToLong((char)0));
176 assertLongEquals(51L, $opt$noinline$CharToLong((char)51));
177 assertLongEquals(32767L, $opt$noinline$CharToLong((char)32767)); // 2^15 - 1
178 assertLongEquals(65535L, $opt$noinline$CharToLong((char)65535)); // 2^16 - 1
179 assertLongEquals(65535L, $opt$noinline$CharToLong((char)-1));
180 assertLongEquals(65485L, $opt$noinline$CharToLong((char)-51));
181 assertLongEquals(32769L, $opt$noinline$CharToLong((char)-32767)); // -(2^15 - 1)
182 assertLongEquals(32768L, $opt$noinline$CharToLong((char)-32768)); // -(2^15)
186 assertFloatEquals(1F, $opt$noinline$ByteToFloat((byte)1));
187 assertFloatEquals(0F, $opt$noinline$ByteToFloat((byte)0));
188 assertFloatEquals(-1F, $opt$noinline$ByteToFloat((byte)-1));
189 assertFloatEquals(51F, $opt$noinline$ByteToFloat((byte)51));
190 assertFloatEquals(-51F, $opt$noinline$ByteToFloat((byte)-51));
191 assertFloatEquals(127F, $opt$noinline$ByteToFloat((byte)127)); // 2^7 - 1
192 assertFloatEquals(-127F, $opt$noinline$ByteToFloat((byte)-127)); // -(2^7 - 1)
193 assertFloatEquals(-128F, $opt$noinline$ByteToFloat((byte)-128)); // -(2^7)
197 assertFloatEquals(1F, $opt$noinline$ShortToFloat((short)1));
198 assertFloatEquals(0F, $opt$noinline$ShortToFloat((short)0));
199 assertFloatEquals(-1F, $opt$noinline$ShortToFloat((short)-1));
200 assertFloatEquals(51F, $opt$noinline$ShortToFloat((short)51));
201 assertFloatEquals(-51F, $opt$noinline$ShortToFloat((short)-51));
202 assertFloatEquals(32767F, $opt$noinline$ShortToFloat((short)32767)); // 2^15 - 1
203 assertFloatEquals(-32767F, $opt$noinline$ShortToFloat((short)-32767)); // -(2^15 - 1)
204 assertFloatEquals(-32768F, $opt$noinline$ShortToFloat((short)-32768)); // -(2^15)
208 assertFloatEquals(1F, $opt$noinline$IntToFloat(1));
209 assertFloatEquals(0F, $opt$noinline$IntToFloat(0));
210 assertFloatEquals(-1F, $opt$noinline$IntToFloat(-1));
211 assertFloatEquals(51F, $opt$noinline$IntToFloat(51));
212 assertFloatEquals(-51F, $opt$noinline$IntToFloat(-51));
213 assertFloatEquals(16777215F, $opt$noinline$IntToFloat(16777215)); // 2^24 - 1
214 assertFloatEquals(-16777215F, $opt$noinline$IntToFloat(-16777215)); // -(2^24 - 1)
215 assertFloatEquals(16777216F, $opt$noinline$IntToFloat(16777216)); // 2^24
216 assertFloatEquals(-16777216F, $opt$noinline$IntToFloat(-16777216)); // -(2^24)
217 assertFloatEquals(2147483647F, $opt$noinline$IntToFloat(2147483647)); // 2^31 - 1
218 assertFloatEquals(-2147483648F, $opt$noinline$IntToFloat(-2147483648)); // -(2^31)
222 assertFloatEquals(1F, $opt$noinline$CharToFloat((char)1));
223 assertFloatEquals(0F, $opt$noinline$CharToFloat((char)0));
224 assertFloatEquals(51F, $opt$noinline$CharToFloat((char)51));
225 assertFloatEquals(32767F, $opt$noinline$CharToFloat((char)32767)); // 2^15 - 1
226 assertFloatEquals(65535F, $opt$noinline$CharToFloat((char)65535)); // 2^16 - 1
227 assertFloatEquals(65535F, $opt$noinline$CharToFloat((char)-1));
228 assertFloatEquals(65485F, $opt$noinline$CharToFloat((char)-51));
229 assertFloatEquals(32769F, $opt$noinline$CharToFloat((char)-32767)); // -(2^15 - 1)
230 assertFloatEquals(32768F, $opt$noinline$CharToFloat((char)-32768)); // -(2^15)
234 assertDoubleEquals(1D, $opt$noinline$ByteToDouble((byte)1));
235 assertDoubleEquals(0D, $opt$noinline$ByteToDouble((byte)0));
236 assertDoubleEquals(-1D, $opt$noinline$ByteToDouble((byte)-1));
237 assertDoubleEquals(51D, $opt$noinline$ByteToDouble((byte)51));
238 assertDoubleEquals(-51D, $opt$noinline$ByteToDouble((byte)-51));
239 assertDoubleEquals(127D, $opt$noinline$ByteToDouble((byte)127)); // 2^7 - 1
240 assertDoubleEquals(-127D, $opt$noinline$ByteToDouble((byte)-127)); // -(2^7 - 1)
241 assertDoubleEquals(-128D, $opt$noinline$ByteToDouble((byte)-128)); // -(2^7)
245 assertDoubleEquals(1D, $opt$noinline$ShortToDouble((short)1));
246 assertDoubleEquals(0D, $opt$noinline$ShortToDouble((short)0));
247 assertDoubleEquals(-1D, $opt$noinline$ShortToDouble((short)-1));
248 assertDoubleEquals(51D, $opt$noinline$ShortToDouble((short)51));
249 assertDoubleEquals(-51D, $opt$noinline$ShortToDouble((short)-51));
250 assertDoubleEquals(32767D, $opt$noinline$ShortToDouble((short)32767)); // 2^15 - 1
251 assertDoubleEquals(-32767D, $opt$noinline$ShortToDouble((short)-32767)); // -(2^15 - 1)
252 assertDoubleEquals(-32768D, $opt$noinline$ShortToDouble((short)-32768)); // -(2^15)
256 assertDoubleEquals(1D, $opt$noinline$IntToDouble(1));
257 assertDoubleEquals(0D, $opt$noinline$IntToDouble(0));
258 assertDoubleEquals(-1D, $opt$noinline$IntToDouble(-1));
259 assertDoubleEquals(51D, $opt$noinline$IntToDouble(51));
260 assertDoubleEquals(-51D, $opt$noinline$IntToDouble(-51));
261 assertDoubleEquals(16777216D, $opt$noinline$IntToDouble(16777216)); // 2^24
262 assertDoubleEquals(-16777216D, $opt$noinline$IntToDouble(-16777216)); // -(2^24)
263 assertDoubleEquals(2147483647D, $opt$noinline$IntToDouble(2147483647)); // 2^31 - 1
264 assertDoubleEquals(-2147483648D, $opt$noinline$IntToDouble(-2147483648)); // -(2^31)
268 assertDoubleEquals(1D, $opt$noinline$CharToDouble((char)1));
269 assertDoubleEquals(0D, $opt$noinline$CharToDouble((char)0));
270 assertDoubleEquals(51D, $opt$noinline$CharToDouble((char)51));
271 assertDoubleEquals(32767D, $opt$noinline$CharToDouble((char)32767)); // 2^15 - 1
272 assertDoubleEquals(65535D, $opt$noinline$CharToDouble((char)65535)); // 2^16 - 1
273 assertDoubleEquals(65535D, $opt$noinline$CharToDouble((char)-1));
274 assertDoubleEquals(65485D, $opt$noinline$CharToDouble((char)-51));
275 assertDoubleEquals(32769D, $opt$noinline$CharToDouble((char)-32767)); // -(2^15 - 1)
276 assertDoubleEquals(32768D, $opt$noinline$CharToDouble((char)-32768)); // -(2^15)
280 assertIntEquals(1, $opt$noinline$LongToInt(1L));
281 assertIntEquals(0, $opt$noinline$LongToInt(0L));
282 assertIntEquals(-1, $opt$noinline$LongToInt(-1L));
283 assertIntEquals(51, $opt$noinline$LongToInt(51L));
284 assertIntEquals(-51, $opt$noinline$LongToInt(-51L));
285 assertIntEquals(2147483647, $opt$noinline$LongToInt(2147483647L)); // 2^31 - 1
286 assertIntEquals(-2147483647, $opt$noinline$LongToInt(-2147483647L)); // -(2^31 - 1)
287 assertIntEquals(-2147483648, $opt$noinline$LongToInt(-2147483648L)); // -(2^31)
288 assertIntEquals(-2147483648, $opt$noinline$LongToInt(2147483648L)); // (2^31)
289 assertIntEquals(2147483647, $opt$noinline$LongToInt(-2147483649L)); // -(2^31 + 1)
290 assertIntEquals(-1, $opt$noinline$LongToInt(9223372036854775807L)); // 2^63 - 1
291 assertIntEquals(1, $opt$noinline$LongToInt(-9223372036854775807L)); // -(2^63 - 1)
292 assertIntEquals(0, $opt$noinline$LongToInt(-9223372036854775808L)); // -(2^63)
294 assertIntEquals(42, $opt$noinline$LongLiteralToInt());
297 assertLongEquals(1L, $opt$noinline$IntToLong($opt$noinline$LongToInt(4294967297L))); // 2^32 + 1
298 assertLongEquals(0L, $opt$noinline$IntToLong($opt$noinline$LongToInt(4294967296L))); // 2^32
299 assertLongEquals(-1L, $opt$noinline$IntToLong($opt$noinline$LongToInt(4294967295L))); // 2^32 - 1
300 assertLongEquals(0L, $opt$noinline$IntToLong($opt$noinline$LongToInt(0L)));
301 assertLongEquals(1L, $opt$noinline$IntToLong($opt$noinline$LongToInt(-4294967295L))); // -(2^32 - 1)
302 assertLongEquals(0L, $opt$noinline$IntToLong($opt$noinline$LongToInt(-4294967296L))); // -(2^32)
303 assertLongEquals(-1, $opt$noinline$IntToLong($opt$noinline$LongToInt(-4294967297L))); // -(2^32 + 1)
307 assertFloatEquals(1F, $opt$noinline$LongToFloat(1L));
308 assertFloatEquals(0F, $opt$noinline$LongToFloat(0L));
309 assertFloatEquals(-1F, $opt$noinline$LongToFloat(-1L));
310 assertFloatEquals(51F, $opt$noinline$LongToFloat(51L));
311 assertFloatEquals(-51F, $opt$noinline$LongToFloat(-51L));
312 assertFloatEquals(2147483647F, $opt$noinline$LongToFloat(2147483647L)); // 2^31 - 1
313 assertFloatEquals(-2147483647F, $opt$noinline$LongToFloat(-2147483647L)); // -(2^31 - 1)
314 assertFloatEquals(-2147483648F, $opt$noinline$LongToFloat(-2147483648L)); // -(2^31)
315 assertFloatEquals(2147483648F, $opt$noinline$LongToFloat(2147483648L)); // (2^31)
316 assertFloatEquals(-2147483649F, $opt$noinline$LongToFloat(-2147483649L)); // -(2^31 + 1)
317 assertFloatEquals(4294967296F, $opt$noinline$LongToFloat(4294967296L)); // (2^32)
318 assertFloatEquals(-4294967296F, $opt$noinline$LongToFloat(-4294967296L)); // -(2^32)
319 assertFloatEquals(140739635871745F, $opt$noinline$LongToFloat(140739635871745L)); // 1 + 2^15 + 2^31 + 2^47
320 assertFloatEquals(-140739635871745F, $opt$noinline$LongToFloat(-140739635871745L)); // -(1 + 2^15 + 2^31 + 2^47)
321 assertFloatEquals(9223372036854775807F, $opt$noinline$LongToFloat(9223372036854775807L)); // 2^63 - 1
322 assertFloatEquals(-9223372036854775807F, $opt$noinline$LongToFloat(-9223372036854775807L)); // -(2^63 - 1)
323 assertFloatEquals(-9223372036854775808F, $opt$noinline$LongToFloat(-9223372036854775808L)); // -(2^63)
327 assertDoubleEquals(1D, $opt$noinline$LongToDouble(1L));
328 assertDoubleEquals(0D, $opt$noinline$LongToDouble(0L));
329 assertDoubleEquals(-1D, $opt$noinline$LongToDouble(-1L));
330 assertDoubleEquals(51D, $opt$noinline$LongToDouble(51L));
331 assertDoubleEquals(-51D, $opt$noinline$LongToDouble(-51L));
332 assertDoubleEquals(2147483647D, $opt$noinline$LongToDouble(2147483647L)); // 2^31 - 1
333 assertDoubleEquals(-2147483647D, $opt$noinline$LongToDouble(-2147483647L)); // -(2^31 - 1)
334 assertDoubleEquals(-2147483648D, $opt$noinline$LongToDouble(-2147483648L)); // -(2^31)
335 assertDoubleEquals(2147483648D, $opt$noinline$LongToDouble(2147483648L)); // (2^31)
336 assertDoubleEquals(-2147483649D, $opt$noinline$LongToDouble(-2147483649L)); // -(2^31 + 1)
337 assertDoubleEquals(4294967296D, $opt$noinline$LongToDouble(4294967296L)); // (2^32)
338 assertDoubleEquals(-4294967296D, $opt
339 assertDoubleEquals(140739635871745D, $opt$noinline$LongToDouble(140739635871745L)); // 1 + 2^15 + 2^31 + 2^47
340 assertDoubleEquals(-140739635871745D, $opt$noinline$LongToDouble(-140739635871745L)); // -(1 + 2^15 + 2^31 + 2^47)
341 assertDoubleEquals(9223372036854775807D, $opt$noinline$LongToDouble(9223372036854775807L)); // 2^63 - 1
342 assertDoubleEquals(-9223372036854775807D, $opt$noinline$LongToDouble(-9223372036854775807L)); // -(2^63 - 1)
343 assertDoubleEquals(-9223372036854775808D, $opt$noinline$LongToDouble(-9223372036854775808L)); // -(2^63)
347 assertIntEquals(1, $opt$noinline$FloatToInt(1F));
348 assertIntEquals(0, $opt$noinline$FloatToInt(0F));
349 assertIntEquals(0, $opt$noinline$FloatToInt(-0F));
350 assertIntEquals(-1, $opt$noinline$FloatToInt(-1F));
351 assertIntEquals(51, $opt$noinline$FloatToInt(51F));
352 assertIntEquals(-51, $opt$noinline$FloatToInt(-51F));
353 assertIntEquals(0, $opt$noinline$FloatToInt(0.5F));
354 assertIntEquals(0, $opt$noinline$FloatToInt(0.4999999F));
355 assertIntEquals(0, $opt$noinline$FloatToInt(-0.4999999F));
356 assertIntEquals(0, $opt$noinline$FloatToInt(-0.5F));
357 assertIntEquals(42, $opt$noinline$FloatToInt(42.199F));
358 assertIntEquals(-42, $opt$noinline$FloatToInt(-42.199F));
359 assertIntEquals(2147483647, $opt$noinline$FloatToInt(2147483647F)); // 2^31 - 1
360 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(-2147483647F)); // -(2^31 - 1)
361 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(-2147483648F)); // -(2^31)
362 assertIntEquals(2147483647, $opt$noinline$FloatToInt(2147483648F)); // (2^31)
363 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(-2147483649F)); // -(2^31 + 1)
364 assertIntEquals(2147483647, $opt$noinline$FloatToInt(9223372036854775807F)); // 2^63 - 1
365 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(-9223372036854775807F)); // -(2^63 - 1)
366 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(-9223372036854775808F)); // -(2^63)
367 assertIntEquals(0, $opt$noinline$FloatToInt(Float.NaN));
368 assertIntEquals(2147483647, $opt$noinline$FloatToInt(Float.POSITIVE_INFINITY));
369 assertIntEquals(-2147483648, $opt$noinline$FloatToInt(Float.NEGATIVE_INFINITY));
373 assertLongEquals(1L, $opt$noinline$FloatToLong(1F));
374 assertLongEquals(0L, $opt$noinline$FloatToLong(0F));
375 assertLongEquals(0L, $opt$noinline$FloatToLong(-0F));
376 assertLongEquals(-1L, $opt$noinline$FloatToLong(-1F));
377 assertLongEquals(51L, $opt$noinline$FloatToLong(51F));
378 assertLongEquals(-51L, $opt$noinline$FloatToLong(-51F));
379 assertLongEquals(0L, $opt$noinline$FloatToLong(0.5F));
380 assertLongEquals(0L, $opt$noinline$FloatToLong(0.4999999F));
381 assertLongEquals(0L, $opt$noinline$FloatToLong(-0.4999999F));
382 assertLongEquals(0L, $opt$noinline$FloatToLong(-0.5F));
383 assertLongEquals(42L, $opt$noinline$FloatToLong(42.199F));
384 assertLongEquals(-42L, $opt$noinline$FloatToLong(-42.199F));
385 assertLongEquals(2147483648L, $opt$noinline$FloatToLong(2147483647F)); // 2^31 - 1
386 assertLongEquals(-2147483648L, $opt$noinline$FloatToLong(-2147483647F)); // -(2^31 - 1)
387 assertLongEquals(-2147483648L, $opt$noinline$FloatToLong(-2147483648F)); // -(2^31)
388 assertLongEquals(2147483648L, $opt$noinline$FloatToLong(2147483648F)); // (2^31)
389 assertLongEquals(-2147483648L, $opt$noinline$FloatToLong(-2147483649F)); // -(2^31 + 1)
390 assertLongEquals(9223372036854775807L, $opt$noinline$FloatToLong(9223372036854775807F)); // 2^63 - 1
391 assertLongEquals(-9223372036854775808L, $opt$noinline$FloatToLong(-9223372036854775807F)); // -(2^63 - 1)
392 assertLongEquals(-9223372036854775808L, $opt$noinline$FloatToLong(-9223372036854775808F)); // -(2^63)
393 assertLongEquals(9223371487098961920L, $opt$noinline$FloatToLong(9223371487098961920F)); // Math.nextAfter(2F^63, 0)
394 assertLongEquals(-9223371487098961920L, $opt$noinline$FloatToLong(-9223371487098961920F)); // Math.nextAfter(-2F^63, 0)
395 assertLongEquals(0L, $opt$noinline$FloatToLong(Float.NaN));
396 assertLongEquals(9223372036854775807L, $opt$noinline$FloatToLong(Float.POSITIVE_INFINITY));
397 assertLongEquals(-9223372036854775808L, $opt$noinline$FloatToLong(Float.NEGATIVE_INFINITY));
401 assertDoubleEquals(1D, $opt$noinline$FloatToDouble(1F));
402 assertDoubleEquals(0D, $opt$noinline$FloatToDouble(0F));
403 assertDoubleEquals(0D, $opt$noinline$FloatToDouble(-0F));
404 assertDoubleEquals(-1D, $opt$noinline$FloatToDouble(-1F));
405 assertDoubleEquals(51D, $opt$noinline$FloatToDouble(51F));
406 assertDoubleEquals(-51D, $opt$noinline$FloatToDouble(-51F));
407 assertDoubleEquals(0.5D, $opt$noinline$FloatToDouble(0.5F));
408 assertDoubleEquals(0.49999991059303284D, $opt$noinline$FloatToDouble(0.4999999F));
409 assertDoubleEquals(-0.49999991059303284D, $opt$noinline$FloatToDouble(-0.4999999F));
410 assertDoubleEquals(-0.5D, $opt$noinline$FloatToDouble(-0.5F));
411 assertDoubleEquals(42.19900131225586D, $opt$noinline$FloatToDouble(42.199F));
412 assertDoubleEquals(-42.19900131225586D, $opt$noinline$FloatToDouble(-42.199F));
413 assertDoubleEquals(2147483648D, $opt$noinline$FloatToDouble(2147483647F)); // 2^31 - 1
414 assertDoubleEquals(-2147483648D, $opt$noinline$FloatToDouble(-2147483647F)); // -(2^31 - 1)
415 assertDoubleEquals(-2147483648D, $opt$noinline$FloatToDouble(-2147483648F)); // -(2^31)
416 assertDoubleEquals(2147483648D, $opt$noinline$FloatToDouble(2147483648F)); // (2^31)
417 assertDoubleEquals(-2147483648D, $opt$noinline$FloatToDouble(-2147483649F)); // -(2^31 + 1)
418 assertDoubleEquals(9223372036854775807D, $opt$noinline$FloatToDouble(9223372036854775807F)); // 2^63 - 1
419 assertDoubleEquals(-9223372036854775807D, $opt$noinline$FloatToDouble(-9223372036854775807F)); // -(2^63 - 1)
420 assertDoubleEquals(-9223372036854775808D, $opt$noinline$FloatToDouble(-9223372036854775808F)); // -(2^63)
421 assertDoubleIsNaN($opt$noinline$FloatToDouble(Float.NaN));
422 assertDoubleEquals(Double.POSITIVE_INFINITY, $opt$noinline$FloatToDouble(Float.POSITIVE_INFINITY));
423 assertDoubleEquals(Double.NEGATIVE_INFINITY, $opt$noinline$FloatToDouble(Float.NEGATIVE_INFINITY));
427 assertIntEquals(1, $opt$noinline$DoubleToInt(1D));
428 assertIntEquals(0, $opt$noinline$DoubleToInt(0D));
429 assertIntEquals(0, $opt$noinline$DoubleToInt(-0D));
430 assertIntEquals(-1, $opt$noinline$DoubleToInt(-1D));
431 assertIntEquals(51, $opt$noinline$DoubleToInt(51D));
432 assertIntEquals(-51, $opt$noinline$DoubleToInt(-51D));
433 assertIntEquals(0, $opt$noinline$DoubleToInt(0.5D));
434 assertIntEquals(0, $opt$noinline$DoubleToInt(0.4999999D));
435 assertIntEquals(0, $opt$noinline$DoubleToInt(-0.4999999D));
436 assertIntEquals(0, $opt$noinline$DoubleToInt(-0.5D));
437 assertIntEquals(42, $opt$noinline$DoubleToInt(42.199D));
438 assertIntEquals(-42, $opt$noinline$DoubleToInt(-42.199D));
439 assertIntEquals(2147483647, $opt$noinline$DoubleToInt(2147483647D)); // 2^31 - 1
440 assertIntEquals(-2147483647, $opt$noinline$DoubleToInt(-2147483647D)); // -(2^31 - 1)
441 assertIntEquals(-2147483648, $opt$noinline$DoubleToInt(-2147483648D)); // -(2^31)
442 assertIntEquals(2147483647, $opt$noinline$DoubleToInt(2147483648D)); // (2^31)
443 assertIntEquals(-2147483648, $opt$noinline$DoubleToInt(-2147483649D)); // -(2^31 + 1)
444 assertIntEquals(2147483647, $opt$noinline$DoubleToInt(9223372036854775807D)); // 2^63 - 1
445 assertIntEquals(-2147483648, $opt$noinline$DoubleToInt(-9223372036854775807D)); // -(2^63 - 1)
446 assertIntEquals(-2147483648, $opt$noinline$DoubleToInt(-9223372036854775808D)); // -(2^63)
447 assertIntEquals(0, $opt$noinline$DoubleToInt(Double.NaN));
448 assertIntEquals(2147483647, $opt$noinline$DoubleToInt(Double.POSITIVE_INFINITY));
449 assertIntEquals(-2147483648, $opt$noinline$DoubleToInt(Double.NEGATIVE_INFINITY));
453 assertLongEquals(1L, $opt$noinline$DoubleToLong(1D));
454 assertLongEquals(0L, $opt$noinline$DoubleToLong(0D));
455 assertLongEquals(0L, $opt$noinline$DoubleToLong(-0D));
456 assertLongEquals(-1L, $opt$noinline$DoubleToLong(-1D));
457 assertLongEquals(51L, $opt$noinline$DoubleToLong(51D));
458 assertLongEquals(-51L, $opt$noinline$DoubleToLong(-51D));
459 assertLongEquals(0L, $opt$noinline$DoubleToLong(0.5D));
460 assertLongEquals(0L, $opt$noinline$DoubleToLong(0.4999999D));
461 assertLongEquals(0L, $opt$noinline$DoubleToLong(-0.4999999D));
462 assertLongEquals(0L, $opt$noinline$DoubleToLong(-0.5D));
463 assertLongEquals(42L, $opt$noinline$DoubleToLong(42.199D));
464 assertLongEquals(-42L, $opt$noinline$DoubleToLong(-42.199D));
465 assertLongEquals(2147483647L, $opt$noinline$DoubleToLong(2147483647D)); // 2^31 - 1
466 assertLongEquals(-2147483647L, $opt$noinline$DoubleToLong(-2147483647D)); // -(2^31 - 1)
467 assertLongEquals(-2147483648L, $opt$noinline$DoubleToLong(-2147483648D)); // -(2^31)
468 assertLongEquals(2147483648L, $opt$noinline$DoubleToLong(2147483648D)); // (2^31)
469 assertLongEquals(-2147483649L, $opt$noinline$DoubleToLong(-2147483649D)); // -(2^31 + 1)
470 assertLongEquals(9223372036854775807L, $opt$noinline$DoubleToLong(9223372036854775807D)); // 2^63 - 1
471 assertLongEquals(-9223372036854775808L, $opt$noinline$DoubleToLong(-9223372036854775807D)); // -(2^63 - 1)
472 assertLongEquals(-9223372036854775808L, $opt$noinline$DoubleToLong(-9223372036854775808D)); // -(2^63)
473 assertLongEquals(0L, $opt$noinline$DoubleToLong(Double.NaN));
474 assertLongEquals(9223372036854774784L, $opt$noinline$DoubleToLong(9223372036854774784D)); // Math.nextAfter(2D^63, 0)
475 assertLongEquals(-9223372036854774784L, $opt$noinline$DoubleToLong(-9223372036854774784D)); // Math.nextAfter(-2D^63, 0)
476 assertLongEquals(9223372036854775807L, $opt$noinline$DoubleToLong(Double.POSITIVE_INFINITY));
477 assertLongEquals(-9223372036854775808L, $opt$noinline$DoubleToLong(Double.NEGATIVE_INFINITY));
481 assertFloatEquals(1F, $opt$noinline$DoubleToFloat(1D));
482 assertFloatEquals(0F, $opt$noinline$DoubleToFloat(0D));
483 assertFloatEquals(0F, $opt$noinline$DoubleToFloat(-0D));
484 assertFloatEquals(-1F, $opt$noinline$DoubleToFloat(-1D));
485 assertFloatEquals(51F, $opt$noinline$DoubleToFloat(51D));
486 assertFloatEquals(-51F, $opt$noinline$DoubleToFloat(-51D));
487 assertFloatEquals(0.5F, $opt$noinline$DoubleToFloat(0.5D));
488 assertFloatEquals(0.4999999F, $opt$noinline$DoubleToFloat(0.4999999D));
489 assertFloatEquals(-0.4999999F, $opt$noinline$DoubleToFloat(-0.4999999D));
490 assertFloatEquals(-0.5F, $opt$noinline$DoubleToFloat(-0.5D));
491 assertFloatEquals(42.199F, $opt$noinline$DoubleToFloat(42.199D));
492 assertFloatEquals(-42.199F, $opt$noinline$DoubleToFloat(-42.199D));
493 assertFloatEquals(2147483648F, $opt$noinline$DoubleToFloat(2147483647D)); // 2^31 - 1
494 assertFloatEquals(-2147483648F, $opt$noinline$DoubleToFloat(-2147483647D)); // -(2^31 - 1)
495 assertFloatEquals(-2147483648F, $opt$noinline$DoubleToFloat(-2147483648D)); // -(2^31)
496 assertFloatEquals(2147483648F, $opt$noinline$DoubleToFloat(2147483648D)); // (2^31)
497 assertFloatEquals(-2147483648F, $opt$noinline$DoubleToFloat(-2147483649D)); // -(2^31 + 1)
498 assertFloatEquals(9223372036854775807F, $opt$noinline$DoubleToFloat(9223372036854775807D)); // 2^63 - 1
499 assertFloatEquals(-9223372036854775807F, $opt$noinline$DoubleToFloat(-9223372036854775807D)); // -(2^63 - 1)
500 assertFloatEquals(-9223372036854775808F, $opt$noinline$DoubleToFloat(-9223372036854775808D)); // -(2^63)
501 assertFloatIsNaN($opt$noinline$DoubleToFloat(Float.NaN));
502 assertFloatEquals(Float.POSITIVE_INFINITY, $opt$noinline$DoubleToFloat(Double.POSITIVE_INFINITY));
503 assertFloatEquals(Float.NEGATIVE_INFINITY, $opt$noinline$DoubleToFloat(Double.NEGATIVE_INFINITY));
507 assertByteEquals((byte)1, $opt$noinline$ShortToByte((short)1));
508 assertByteEquals((byte)0, $opt$noinline$ShortToByte((short)0));
509 assertByteEquals((byte)-1, $opt$noinline$ShortToByte((short)-1));
510 assertByteEquals((byte)51, $opt$noinline$ShortToByte((short)51));
511 assertByteEquals((byte)-51, $opt$noinline$ShortToByte((short)-51));
512 assertByteEquals((byte)127, $opt$noinline$ShortToByte((short)127)); // 2^7 - 1
513 assertByteEquals((byte)-127, $opt$noinline$ShortToByte((short)-127)); // -(2^7 - 1)
514 assertByteEquals((byte)-128, $opt$noinline$ShortToByte((short)-128)); // -(2^7)
515 assertByteEquals((byte)-128, $opt$noinline$ShortToByte((short)128)); // 2^7
516 assertByteEquals((byte)127, $opt$noinline$ShortToByte((short)-129)); // -(2^7 + 1)
517 assertByteEquals((byte)-1, $opt$noinline$ShortToByte((short)32767)); // 2^15 - 1
518 assertByteEquals((byte)0, $opt$noinline$ShortToByte((short)-32768)); // -(2^15)
522 assertByteEquals((byte)1, $opt$noinline$IntToByte(1));
523 assertByteEquals((byte)0, $opt$noinline$IntToByte(0));
524 assertByteEquals((byte)-1, $opt$noinline$IntToByte(-1));
525 assertByteEquals((byte)51, $opt$noinline$IntToByte(51));
526 assertByteEquals((byte)-51, $opt$noinline$IntToByte(-51));
527 assertByteEquals((byte)127, $opt$noinline$IntToByte(127)); // 2^7 - 1
528 assertByteEquals((byte)-127, $opt$noinline$IntToByte(-127)); // -(2^7 - 1)
529 assertByteEquals((byte)-128, $opt$noinline$IntToByte(-128)); // -(2^7)
530 assertByteEquals((byte)-128, $opt$noinline$IntToByte(128)); // 2^7
531 assertByteEquals((byte)127, $opt$noinline$IntToByte(-129)); // -(2^7 + 1)
532 assertByteEquals((byte)-1, $opt$noinline$IntToByte(2147483647)); // 2^31 - 1
533 assertByteEquals((byte)0, $opt$noinline$IntToByte(-2147483648)); // -(2^31)
537 assertByteEquals((byte)1, $opt$noinline$CharToByte((char)1));
538 assertByteEquals((byte)0, $opt$noinline$CharToByte((char)0));
539 assertByteEquals((byte)51, $opt$noinline$CharToByte((char)51));
540 assertByteEquals((byte)127, $opt$noinline$CharToByte((char)127)); // 2^7 - 1
541 assertByteEquals((byte)-128, $opt$noinline$CharToByte((char)128)); // 2^7
542 assertByteEquals((byte)-1, $opt$noinline$CharToByte((char)32767)); // 2^15 - 1
543 assertByteEquals((byte)-1, $opt$noinline$CharToByte((char)65535)); // 2^16 - 1
544 assertByteEquals((byte)-1, $opt$noinline$CharToByte((char)-1));
545 assertByteEquals((byte)-51, $opt$noinline$CharToByte((char)-51));
546 assertByteEquals((byte)-127, $opt$noinline$CharToByte((char)-127)); // -(2^7 - 1)
547 assertByteEquals((byte)-128, $opt$noinline$CharToByte((char)-128)); // -(2^7)
548 assertByteEquals((byte)127, $opt$noinline$CharToByte((char)-129)); // -(2^7 + 1)
552 assertShortEquals((short)1, $opt$noinline$ByteToShort((byte)1));
553 assertShortEquals((short)0, $opt$noinline$ByteToShort((byte)0));
554 assertShortEquals((short)-1, $opt$noinline$ByteToShort((byte)-1));
555 assertShortEquals((short)51, $opt$noinline$ByteToShort((byte)51));
556 assertShortEquals((short)-51, $opt$noinline$ByteToShort((byte)-51));
557 assertShortEquals((short)127, $opt$noinline$ByteToShort((byte)127)); // 2^7 - 1
558 assertShortEquals((short)-127, $opt$noinline$ByteToShort((byte)-127)); // -(2^7 - 1)
559 assertShortEquals((short)-128, $opt$noinline$ByteToShort((byte)-128)); // -(2^7)
563 assertShortEquals((short)1, $opt$noinline$IntToShort(1));
564 assertShortEquals((short)0, $opt$noinline$IntToShort(0));
565 assertShortEquals((short)-1, $opt$noinline$IntToShort(-1));
566 assertShortEquals((short)51, $opt$noinline$IntToShort(51));
567 assertShortEquals((short)-51, $opt$noinline$IntToShort(-51));
568 assertShortEquals((short)32767, $opt$noinline$IntToShort(32767)); // 2^15 - 1
569 assertShortEquals((short)-32767, $opt$noinline$IntToShort(-32767)); // -(2^15 - 1)
570 assertShortEquals((short)-32768, $opt$noinline$IntToShort(-32768)); // -(2^15)
571 assertShortEquals((short)-32768, $opt$noinline$IntToShort(32768)); // 2^15
572 assertShortEquals((short)32767, $opt$noinline$IntToShort(-32769)); // -(2^15 + 1)
573 assertShortEquals((short)-1, $opt$noinline$IntToShort(2147483647)); // 2^31 - 1
574 opt$noinline$IntToShort(-2147483648)); // -(2^31)
578 assertShortEquals((short)1, $opt$noinline$CharToShort((char)1));
579 assertShortEquals((short)0, $opt$noinline$CharToShort((char)0));
580 assertShortEquals((short)51, $opt$noinline$CharToShort((char)51));
581 assertShortEquals((short)32767, $opt$noinline$CharToShort((char)32767)); // 2^15 - 1
582 assertShortEquals((short)-32768, $opt$noinline$CharToShort((char)32768)); // 2^15
583 assertShortEquals((short)-32767, $opt$noinline$CharToShort((char)32769)); // 2^15
584 assertShortEquals((short)-1, $opt$noinline$CharToShort((char)65535)); // 2^16 - 1
585 assertShortEquals((short)-1, $opt$noinline$CharToShort((char)-1));
586 assertShortEquals((short)-51, $opt$noinline$CharToShort((char)-51));
587 assertShortEquals((short)-32767, $opt$noinline$CharToShort((char)-32767)); // -(2^15 - 1)
588 assertShortEquals((short)-32768, $opt$noinline$CharToShort((char)-32768)); // -(2^15)
589 assertShortEquals((short)32767, $opt$noinline$CharToShort((char)-32769)); // -(2^15 + 1)
593 assertCharEquals((char)1, $opt$noinline$ByteToChar((byte)1));
594 assertCharEquals((char)0, $opt$noinline$ByteToChar((byte)0));
595 assertCharEquals((char)65535, $opt$noinline$ByteToChar((byte)-1));
596 assertCharEquals((char)51, $opt$noinline$ByteToChar((byte)51));
597 assertCharEquals((char)65485, $opt$noinline$ByteToChar((byte)-51));
598 assertCharEquals((char)127, $opt$noinline$ByteToChar((byte)127)); // 2^7 - 1
599 assertCharEquals((char)65409, $opt$noinline$ByteToChar((byte)-127)); // -(2^7 - 1)
600 assertCharEquals((char)65408, $opt$noinline$ByteToChar((byte)-128)); // -(2^7)
604 assertCharEquals((char)1, $opt$noinline$ShortToChar((short)1));
605 assertCharEquals((char)0, $opt$noinline$ShortToChar((short)0));
606 assertCharEquals((char)65535, $opt$noinline$ShortToChar((short)-1));
607 assertCharEquals((char)51, $opt$noinline$ShortToChar((short)51));
608 assertCharEquals((char)65485, $opt$noinline$ShortToChar((short)-51));
609 assertCharEquals((char)32767, $opt$noinline$ShortToChar((short)32767)); // 2^15 - 1
610 assertCharEquals((char)32769, $opt$noinline$ShortToChar((short)-32767)); // -(2^15 - 1)
611 assertCharEquals((char)32768, $opt$noinline$ShortToChar((short)-32768)); // -(2^15)
615 assertCharEquals((char)1, $opt$noinline$IntToChar(1));
616 assertCharEquals((char)0, $opt$noinline$IntToChar(0));
617 assertCharEquals((char)65535, $opt$noinline$IntToChar(-1));
618 assertCharEquals((char)51, $opt$noinline$IntToChar(51));
619 assertCharEquals((char)65485, $opt$noinline$IntToChar(-51));
620 assertCharEquals((char)32767, $opt$noinline$IntToChar(32767)); // 2^15 - 1
621 assertCharEquals((char)32769, $opt$noinline$IntToChar(-32767)); // -(2^15 - 1)
622 assertCharEquals((char)32768, $opt$noinline$IntToChar(32768)); // 2^15
623 assertCharEquals((char)32768, $opt$noinline$IntToChar(-32768)); // -(2^15)
624 assertCharEquals((char)65535, $opt$noinline$IntToChar(65535)); // 2^16 - 1
625 assertCharEquals((char)1, $opt$noinline$IntToChar(-65535)); // -(2^16 - 1)
626 assertCharEquals((char)0, $opt$noinline$IntToChar(65536)); // 2^16
627 assertCharEquals((char)0, $opt$noinline$IntToChar(-65536)); // -(2^16)
628 assertCharEquals((char)65535, $opt$noinline$IntToChar(2147483647)); // 2^31 - 1
629 assertCharEquals((char)0, $opt$noinline$IntToChar(-2147483648)); // -(2^31)
636 static long $opt$noinline$ByteToLong(byte a) { if (doThrow) throw new Error(); return (long)a; }
637 static long $opt$noinline$ShortToLong(short a) { if (doThrow) throw new Error(); return (long)a; }
638 static long $opt$noinline$IntToLong(int a) { if (doThrow) throw new Error(); return (long)a; }
639 static long $opt$noinline$CharToLong(int a) { if (doThrow) throw new Error(); return (long)a; }
642 static float $opt$noinline$ByteToFloat(byte a) { if (doThrow) throw new Error(); return (float)a; }
643 static float $opt$noinline$ShortToFloat(short a) { if (doThrow) throw new Error(); return (float)a; }
644 static float $opt$noinline$IntToFloat(int a) { if (doThrow) throw new Error(); return (float)a; }
645 static float $opt$noinline$CharToFloat(char a) { if (doThrow) throw new Error(); return (float)a; }
648 static double $opt$noinline$ByteToDouble(byte a) { if (doThrow) throw new Error(); return (double)a; }
649 static double $opt$noinline$ShortToDouble(short a) { if (doThrow) throw new Error(); return (double)a; }
650 static double $opt$noinline$IntToDouble(int a) { if (doThrow) throw new Error(); return (double)a; }
651 static double $opt$noinline$CharToDouble(int a) { if (doThrow) throw new Error(); return (double)a; }
654 static int $opt$noinline$LongToInt(long a) { if (doThrow) throw new Error(); return (int)a; }
655 static int $opt$noinline$LongLiteralToInt() { if (doThrow) throw new Error(); return (int)42L; }
658 static float $opt$noinline$LongToFloat(long a) { if (doThrow) throw new Error(); return (float)a; }
661 static double $opt$noinline$LongToDouble(long a) { if (doThrow) throw new Error(); return (double)a; }
664 static int $opt$noinline$FloatToInt(float a) { if (doThrow) throw new Error(); return (int)a; }
667 static long $opt$noinline$FloatToLong(float a){ if (doThrow) throw new Error(); return (long)a; }
670 static double $opt$noinline$FloatToDouble(float a) { if (doThrow) throw new Error(); return (double)a; }
673 static int $opt$noinline$DoubleToInt(double a){ if (doThrow) throw new Error(); return (int)a; }
676 static long $opt$noinline$DoubleToLong(double a){ if (doThrow) throw new Error(); return (long)a; }
679 static float $opt$noinline$DoubleToFloat(double a) { if (doThrow) throw new Error(); return (float)a; }
682 static byte $opt$noinline$ShortToByte(short a) { if (doThrow) throw new Error(); return (byte)a; }
683 static byte $opt$noinline$IntToByte(int a) { if (doThrow) throw new Error(); return (byte)a; }
684 static byte $opt$noinline$CharToByte(char a) { if (doThrow) throw new Error(); return (byte)a; }
687 static short $opt$noinline$ByteToShort(byte a) { if (doThrow) throw new Error(); return (short)a; }
688 static short $opt$noinline$IntToShort(int a) { if (doThrow) throw new Error(); return (short)a; }
689 static short $opt$noinline$CharToShort(char a) { if (doThrow) throw new Error(); return (short)a; }
692 static char $opt$noinline$ByteToChar(byte a) { if (doThrow) throw new Error(); return (char)a; }
693 static char $opt$noinline$ShortToChar(short a) { if (doThrow) throw new Error(); return (char)a; }
694 static char $opt$noinline$IntToChar(int a) { if (doThrow) throw new Error(); return (char)a; }