public class Verifier
{
    public static final String INPUT_SIGNAL_1 = "12345678";
    public static final int[] INPUT_PHASE_1 = {4, 8, 2, 2, 6, 1, 5, 8};
    public static final int[] INPUT_PHASE_2 = {3, 4, 0, 4, 0, 4, 3, 8};
    public static final int[] INPUT_PHASE_3 = {0, 3, 4, 1, 5, 5, 1, 8};
    public static final int[] INPUT_PHASE_4 = {0, 1, 0, 2, 9, 4, 9, 8};

    public static String INPUT_SIGNAL_2 = "80871224585914546619083218645595";
    public static int[] SIGNAL_2_OUTPUT = {2, 4, 1, 7, 6, 1, 7, 6};

    public static String INPUT_SIGNAL_3 = "19617804207202209144916044189917";
    public static int[] SIGNAL_3_OUTPUT = {7, 3, 7, 4, 5, 4, 1, 8};

    public static String INPUT_SIGNAL_4 = "69317163492948606335995924319873";
    public static int[] SIGNAL_4_OUTPUT = {5, 2, 4, 3, 2, 1, 3, 3};

    public Verifier (boolean debug)
    {
        _debug = debug;
        _fft = new Compute(_debug);
    }

    public boolean verify ()
    {
        if (verifyFirst())
        {
            if (verifySecond())
                return true;
            else
                return false;
        }
        else
            return false;
    }

    private final boolean verifyFirst ()
    {
        boolean result = true;
        int[] input = Util.convert(INPUT_SIGNAL_1);
        int[] data = _fft.process(input, 1);
        
        for (int i = 0; (i < data.length) && result; i++)
        {
            if (data[i] != INPUT_PHASE_1[i])
                result = false;
        }

        if (result)
        {
            if (_debug)
                System.out.println("Verified INPUT_PHASE_1");

            data = _fft.process(input, 2);

            for (int i = 0; (i < data.length) && result; i++)
            {
                if (data[i] != INPUT_PHASE_2[i])
                  result = false;
            }

            if (result)
            {
                if (_debug)
                    System.out.println("Verified INPUT_PHASE_2");

                data = _fft.process(input, 3);

                for (int i = 0; (i < data.length) && result; i++)
                {
                    if (data[i] != INPUT_PHASE_3[i])
                        result = false;
                }

                if (result)
                {
                    if (_debug)
                        System.out.println("Verified INPUT_PHASE_3");

                    data = _fft.process(input, 4);

                    for (int i = 0; (i < data.length) && result; i++)
                    {
                        if (data[i] != INPUT_PHASE_4[i])
                            result = false;
                    }

                    if (result)
                    {
                        if (_debug)
                            System.out.println("Verified INPUT_PHASE_4");
                    }
                }
            }
        }

        return result;
    }

    private final boolean verifySecond ()
    {
        boolean result = true;
        int[] input = Util.convert(INPUT_SIGNAL_2);
        int[] data = _fft.process(input, 100);
        
        for (int i = 0; (i < SIGNAL_2_OUTPUT.length) && result; i++)
        {
            if (SIGNAL_2_OUTPUT[i] != data[i])
                result = false;
        }

        if (result)
        {
            if (_debug)
                System.out.println("Verified "+INPUT_SIGNAL_2);

            input = Util.convert(INPUT_SIGNAL_3);
            data = _fft.process(input, 100);

            for (int i = 0; (i < SIGNAL_3_OUTPUT.length) && result; i++)
            {
                if (SIGNAL_3_OUTPUT[i] != data[i])
                    result = false;
            }

            if (result)
            {
                if (_debug)
                    System.out.println("Verified "+INPUT_SIGNAL_3);

                input = Util.convert(INPUT_SIGNAL_4);
                data = _fft.process(input, 100);

                for (int i = 0; (i < SIGNAL_4_OUTPUT.length) && result; i++)
                {
                    if (SIGNAL_4_OUTPUT[i] != data[i])
                        result = false;
                }

                if (result)
                {
                    if (_debug)
                        System.out.println("Verified "+INPUT_SIGNAL_4);
                }
            }
        }

        return result;
    }
    
    private boolean _debug;
    Compute _fft;
}
@@ -70,16 +70,40 @@
  = %22
-12345678
+03036732577212944063491565474664
 %22;%0A 
@@ -135,342 +135,134 @@
 t%5B%5D 
-INPUT_PHASE_1
+SIGNAL_1_RESULT
  = %7B
-4, 
 8, 
-2, 2
+4, 4
 , 6, 
-1, 5, 8%7D;%0A    public static final int%5B%5D INPUT_PHASE_2 = %7B3, 4, 0, 4, 0, 4, 3, 8%7D;%0A    public static final int%5B%5D INPUT_PHASE_3 = %7B0, 3, 4, 1, 5, 5, 1, 8%7D;%0A    public static final int%5B%5D INPUT_PHASE_4 = %7B0, 1, 0, 2, 9, 4, 9, 8%7D;%0A%0A    public static String INPUT_SIGNAL_2 = %2280871224585914546619083218645595
+2, 0, 2, 6%7D;%0A%0A    public static final String INPUT_SIGNAL_2 = %2202935109699940807407585447034323
 %22;%0A 
@@ -270,32 +270,38 @@
   public static 
+final 
 int%5B%5D SIGNAL_2_O
@@ -303,40 +303,40 @@
 L_2_
-OUTPU
+RESUL
 T = %7B
-2, 4, 1
+7, 8
 , 7, 
-6, 1
+2, 5, 2
 , 7, 
-6
+0
 %7D;%0A%0A
@@ -345,32 +345,38 @@
   public static 
+final 
 String INPUT_SIG
@@ -388,187 +388,40 @@
  = %22
-19617804207202209144916044189917%22;%0A    public static int%5B%5D SIGNAL_3_OUTPUT = %7B7, 3, 7, 4, 5, 4, 1, 8%7D;%0A%0A    public static String INPUT_SIGNAL_4 = %2269
+030817708849219597
 31
-7
 16
-3492948606335995924319873
+5446850517
 %22;%0A 
@@ -437,16 +437,22 @@
  static 
+final 
 int%5B%5D SI
@@ -460,23 +460,23 @@
 NAL_
-4_OUTPU
+3_RESUL
 T = %7B5, 
 2, 4
@@ -475,27 +475,27 @@
 %7B5, 
-2, 4, 3, 2, 1
+3, 5, 5, 3, 7
 , 3, 
-3
+1
 %7D;%0A%0A

Update Verifier.java