public void testComplexFloatLargeArrayArraycopy()
    {
        float[] data = new float[]{1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f};
        int startPos = 1;
        int length = 3;
        LargeArray.setMaxSizeOf32bitArray(1073741824);
        ComplexFloatLargeArray a = new ComplexFloatLargeArray(data);
        ComplexFloatLargeArray b = new ComplexFloatLargeArray(2 * data.length);
        Utilities.arraycopy(a, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[2 * (startPos + i)], b.getComplexFloat(i)[0], 0.0);
            assertEquals(data[2 * (startPos + i) + 1], b.getComplexFloat(i)[1], 0.0);
        }
        b = new ComplexFloatLargeArray(2 * data.length);
        Utilities.arraycopy(data, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[2 * (startPos + i)], b.getComplexFloat(i)[0], 0.0);
            assertEquals(data[2 * (startPos + i) + 1], b.getComplexFloat(i)[1], 0.0);
        }
        LargeArray.setMaxSizeOf32bitArray(data.length - 1);
        a = new ComplexFloatLargeArray(data);
        b = new ComplexFloatLargeArray(2 * data.length);
        Utilities.arraycopy(a, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[2 * (startPos + i)], b.getComplexFloat(i)[0], 0.0);
            assertEquals(data[2 * (startPos + i) + 1], b.getComplexFloat(i)[1], 0.0);
        }
        b = new ComplexFloatLargeArray(2 * data.length);
        Utilities.arraycopy(data, startPos, b, 0, length);
        for (int i = 0; i < length; i++) {
            assertEquals(data[2 * (startPos + i)], b.getComplexFloat(i)[0], 0.0);
            assertEquals(data[2 * (startPos + i) + 1], b.getComplexFloat(i)[1], 0.0);
        }
    }