summaryrefslogtreecommitdiff
path: root/RTJava/benchmarks/RawSpeed/Fir/FirTester.java
blob: 65a61b86f198a2f79d321e5136c6442f07eecbea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//$Id$

package Fir;

public class FirTester {

    private String mSampleFile;
    private int mSampleNum;

    private String mCoeffFile;
    private int mCoeffNum;

    private boolean  mCachedIO = true;

    private int mCycle = 1;

    private void ParseArgs(String Args[]) {

        int reqArg = 4;
        int setArg[] = new int[reqArg];
        try {
            int i = 0;

            while (i < Args.length) {
                if (Args[i].equals("-SampleFile")) {
                    setArg[0] = 1;
                    this.mSampleFile = Args[++i];
                }
                else if (Args[i].equals("-CoeffFile")) {
                    setArg[1] = 1;
                    this.mCoeffFile = Args[++i];
                }
                else if (Args[i].equals("-SampleNum")) {
                    setArg[2] = 1;
                    this.mSampleNum = Integer.parseInt(Args[++i]);
                }
                else if (Args[i].equals("-CoeffNum")) {
                    setArg[3] = 1;
                    this.mCoeffNum = Integer.parseInt(Args[++i]);
                }

                else if (Args[i].equals("-NoCaching"))
                    this.mCachedIO = false;

                else if (Args[i].equals("-Cycle"))
                    this.mCycle = Integer.parseInt(Args[++i]);
                ++i;
            }
        }
        catch (java.lang.NumberFormatException nfe) {
            System.out.println("Invalid Number Format!");
            System.exit(-1);
        }

        int sum = 0;

        for (int i = 0; i < 4; i++)
            sum +=setArg[i];

        if ( sum != reqArg) {
            System.out.println("Not enough argumets!");
            System.out.println("USAGE: \nFirTester -SampleFile <filename> -SampleNum <sampleNum> -CoeffFile <filename> -CoeffNum <coeffnum>");
            System.exit(-1);
        }


    }

    public static void main(String Args[]) throws java.io.IOException {

        FirTester ft = new FirTester();
        ft.ParseArgs(Args);

        PerformanceMeter firTester;
        if (ft.mCachedIO)
            firTester = new CachedIOFirTester(ft.mSampleFile,
                                              ft.mSampleNum,
                                              ft.mCoeffFile,
                                              ft.mCoeffNum,
                                              ft.mCycle);
        else
            firTester = new IOFirTester(ft.mSampleFile,
                                        ft.mSampleNum,
                                        ft.mCoeffFile,
                                        ft.mCoeffNum);

        firTester.Start();
        System.out.println("Time Required by the computation: "
                           + firTester.GetTraceTime() +" msec.");
    }
}