@Test public void testNaNHash() { BlockBuilder blockBuilder = new LongArrayBlockBuilder(null, 4); blockBuilder.writeLong(doubleToLongBits(Double.NaN)); blockBuilder.writeLong(doubleToRawLongBits(Double.NaN)); // the following two are the long values of a double NaN blockBuilder.writeLong(-0x000fffffffffffffL); blockBuilder.writeLong(0x7ff8000000000000L); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 1)); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 2)); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 3)); } }
@Test public void testNaNHash() { BlockBuilder blockBuilder = new LongArrayBlockBuilder(null, 4); blockBuilder.writeLong(doubleToLongBits(Double.NaN)); blockBuilder.writeLong(doubleToRawLongBits(Double.NaN)); // the following two are the long values of a double NaN blockBuilder.writeLong(-0x000fffffffffffffL); blockBuilder.writeLong(0x7ff8000000000000L); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 1)); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 2)); assertEquals(DOUBLE.hash(blockBuilder, 0), DOUBLE.hash(blockBuilder, 3)); } }