Fixed issues with compilation.
[IRC.git] / Robust / src / Benchmarks / Scheduling / GC / NON_BAMBOO / JGFMonteCarlo / AppDemoRunner.java
1 package JGFMonteCarlo;
2
3 public class AppDemoRunner extends Thread {
4
5   public String header;
6   public String name;
7   public int startDate;
8   public int endDate;
9   public float dTime;
10   public int returnDefinition;
11   public float expectedReturnRate;
12   public float volatility;
13   public int nTimeSteps;
14   public float pathStartValue;
15
16   int id, nRunsMC, group;
17   //ToInitAllTasks toinitalltasks;
18   public Vector results;
19
20   public AppDemoRunner(int id,
21       int nRunsMC, 
22       int group, 
23       AppDemo ad
24       /*ToInitAllTasks initalltask*/) {
25     this.id = id;
26     this.nRunsMC=nRunsMC;
27     this.group = group;
28     this.results = new Vector();
29
30     //this.header = initalltask.header;
31     this.name = ad.name;
32     this.startDate = ad.startDate;
33     this.endDate = ad.endDate;
34     this.dTime = ad.dTime;
35     this.returnDefinition = ad.returnDefinition;
36     this.expectedReturnRate = ad.expectedReturnRate;
37     this.volatility = ad.volatility;
38     this.nTimeSteps = ad.nTimeStepsMC;
39     this.pathStartValue = ad.pathStartValue;
40   }
41
42   public void run() {
43     // Now do the computation.
44     int ilow, iupper, slice;
45     int gp = this.group;
46     int index = this.id;
47     int nruns = this.nRunsMC;
48
49     slice = (nruns + gp-1)/gp;
50
51     ilow = index*slice;
52     iupper = (index+1)*slice;
53     if (index==gp-1) {
54       iupper=nruns;
55     }
56
57     for(int iRun=ilow; iRun < iupper; iRun++ ) {
58       //String header="MC run "+String.valueOf(iRun);
59       PriceStock ps = new PriceStock();
60       ps.setInitAllTasks(this);
61       ps.setTask(/*header, */(long)iRun*11);
62       ps.run();
63       results.addElement(ps.getResult());
64     }
65   }
66
67   public static void main(String[] args) {
68     int datasize = 10000;  //should be times of 2
69     int nruns = 62 * 62;  //16 * 16;
70     int group = 62; // 16;
71
72     AppDemo ad = new AppDemo(datasize, nruns, group);
73     ad.initSerial();
74
75     for(int i = 0; i < group; i++) {
76       AppDemoRunner adr = new AppDemoRunner(i, nruns, group, ad);
77       adr.start();
78     }
79   }
80 }