### Question:
RadixSort { public static void radixSort2(long[] data, long[] copy, int[] histogram, int length) { radixSort2(data, copy, histogram, length, 0); }  static int[] newHistogram(int length); static long[] newCopy(long[] data); static void radixSort(long[] data, long[] copy, int[] histogram, int length); static void radixSort2(long[] data, long[] copy, int[] histogram, int length);  }### Answer:
@Test void sortLargeBatch() { long[] testcase = new long[7680]; int index = 0; for (long i = 0L; i < 920L; i++) { testcase[index++] = 0L; testcase[index++] = i + 1L; testcase[index++] = i + 1240L; testcase[index++] = -1L; } for (long i = 1L; i < 1000L; i++) { testcase[index++] = i; testcase[index++] = i + 1L; testcase[index++] = i + 239L; testcase[index++] = -1L; } testcase[index++] = 1000L; testcase[index++] = 1L; testcase[index++] = 1239L; testcase[index] = -1L; long[] expected = new long[7680]; index = 0; expected[index++] = 1L; expected[index++] = 0L; expected[index++] = 1240L; expected[index++] = -1L; expected[index++] = 1L; expected[index++] = 1000L; expected[index++] = 1239L; expected[index++] = -1L; for (long i = 1L; i < 920L; i++) { expected[index++] = i + 1L; expected[index++] = 0L; expected[index++] = i + 1240L; expected[index++] = -1L; expected[index++] = i + 1L; expected[index++] = i; expected[index++] = i + 239L; expected[index++] = -1L; } for (long i = 920L; i < 1000L; i++) { expected[index++] = i + 1L; expected[index++] = i; expected[index++] = i + 239L; expected[index++] = -1L; } RadixSort.radixSort2(testcase, new long[7680], new int[7680], 7680); assertArrayEquals(expected, testcase); }