### Question:
UnscaledDecimal128Arithmetic { private static boolean isNegative(int lastRawHigh) { return lastRawHigh >>> 31 != 0; } private  UnscaledDecimal128Arithmetic(); static Slice unscaledDecimal(); static Slice unscaledDecimal(Slice decimal); static Slice unscaledDecimal(String unscaledValue); static Slice unscaledDecimal(BigInteger unscaledValue); static Slice pack(BigInteger unscaledValue, Slice result); static Slice unscaledDecimal(long unscaledValue); static BigInteger unscaledDecimalToBigInteger(Slice decimal); static long unscaledDecimalToUnscaledLong(Slice decimal); static long unscaledDecimalToUnscaledLongUnsafe(Slice decimal); static Slice rescale(Slice decimal, int rescaleFactor); static void rescale(Slice decimal, int rescaleFactor, Slice result); static Slice rescaleTruncate(Slice decimal, int rescaleFactor); static void rescaleTruncate(Slice decimal, int rescaleFactor, Slice result); static Slice add(Slice left, Slice right); static void add(Slice left, Slice right, Slice result); static long addWithOverflow(Slice left, Slice right, Slice result); static Slice subtract(Slice left, Slice right); static void subtract(Slice left, Slice right, Slice result); static Slice multiply(Slice left, Slice right); static void multiply(Slice left, Slice right, Slice result); static void multiply256(Slice left, Slice right, Slice result); static Slice multiply(Slice decimal, int multiplier); static int compare(Slice left, Slice right); static int compare(long leftRawLow, long leftRawHigh, long rightRawLow, long rightRawHigh); static int compareAbsolute(Slice left, Slice right); static int compareUnsigned(long leftRawLow, long leftRawHigh, long rightRawLow, long rightRawHigh); static void incrementUnsafe(Slice decimal); static void negate(Slice decimal); static boolean isStrictlyNegative(Slice decimal); static boolean isStrictlyNegative(long rawLow, long rawHigh); static boolean isNegative(Slice decimal); static boolean isNegative(long rawHigh); static boolean isZero(Slice decimal); static String toUnscaledString(Slice decimal); static boolean overflows(Slice value, int precision); static void throwIfOverflows(Slice decimal); static void throwIfOverflows(Slice value, int precision); static void shiftRightArray8(int[] values, int rightShifts, Slice result); static Slice divideRoundUp(long dividend, int dividendScaleFactor, long divisor); static Slice divideRoundUp(long dividend, int dividendScaleFactor, Slice divisor); static Slice divideRoundUp(Slice dividend, int dividendScaleFactor, long divisor); static Slice divideRoundUp(Slice dividend, int dividendScaleFactor, Slice divisor); static Slice remainder(long dividend, int dividendScaleFactor, long divisor, int divisorScaleFactor); static Slice remainder(long dividend, int dividendScaleFactor, Slice divisor, int divisorScaleFactor); static Slice remainder(Slice dividend, int dividendScaleFactor, long divisor, int divisorScaleFactor); static Slice remainder(Slice dividend, int dividendScaleFactor, Slice divisor, int divisorScaleFactor); static Slice pack(long low, long high, boolean negative); static void pack(long low, long high, boolean negative, Slice result); static void pack(long low, long high, boolean negative, Slice result, int resultOffset); static void pack(long low, long high, boolean negative, long[] result, int resultOffset); static void throwOverflowException(); static int getInt(Slice decimal, int index); static long getLong(Slice decimal, int index); static final int UNSCALED_DECIMAL_128_SLICE_LENGTH; }### Answer:
@Test public void testIsNegative() { assertEquals(isNegative(MIN_DECIMAL), true); assertEquals(isNegative(MAX_DECIMAL), false); assertEquals(isNegative(unscaledDecimal(0)), false); }