/* */ private static double floorOrCeil( double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4) /* */ { /* 355 */ int i = Math.getExponent(paramDouble1); /* */ /* 357 */ if (i < 0) /* */ { /* 363 */ return paramDouble1 < 0.0D ? paramDouble2 : paramDouble1 == 0.0D ? paramDouble1 : paramDouble3; /* */ } /* 365 */ if (i >= 52) /* */ { /* 369 */ return paramDouble1; /* */ } /* */ /* 373 */ assert ((i >= 0) && (i <= 51)); /* */ /* 375 */ long l1 = Double.doubleToRawLongBits(paramDouble1); /* 376 */ long l2 = 4503599627370495L >> i; /* */ /* 378 */ if ((l2 & l1) == 0L) { /* 379 */ return paramDouble1; /* */ } /* 381 */ double d = Double.longBitsToDouble(l1 & (l2 ^ 0xFFFFFFFF)); /* 382 */ if (paramDouble4 * paramDouble1 > 0.0D) /* 383 */ d += paramDouble4; /* 384 */ return d; /* */ }