public void testDoubleLargeArrayArraycopy()
    {
        double[] data = new double[]{1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10};
        int startPos = 2;
        int length = 8;
        LargeArray.setMaxSizeOf32bitArray(1073741824);
        DoubleLargeArray a = new DoubleLargeArray(data);
        DoubleLargeArray b = new DoubleLargeArray(2 * data.length);
        Utilities.arraycopy(a, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[startPos + i], b.getDouble(i));
        }
        b = new DoubleLargeArray(2 * data.length);
        Utilities.arraycopy(data, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[startPos + i], b.getDouble(i));
        }
        LargeArray.setMaxSizeOf32bitArray(data.length - 1);
        a = new DoubleLargeArray(data);
        b = new DoubleLargeArray(2 * data.length);
        Utilities.arraycopy(a, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[startPos + i], b.getDouble(i));
        }
        b = new DoubleLargeArray(2 * data.length);
        Utilities.arraycopy(data, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[startPos + i], b.getDouble(i));
        }
    }