EMMA Coverage Report (generated Sat Aug 20 11:00:51 CDT 2011)
[all classes][tuffy.util]

COVERAGE SUMMARY FOR SOURCE FILE [PlotMan.java]

nameclass, %method, %block, %line, %
PlotMan.java0%   (0/2)0%   (0/9)0%   (0/296)0%   (0/56)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class PlotMan0%   (0/1)0%   (0/6)0%   (0/247)0%   (0/46)
PlotMan (): void 0%   (0/1)0%   (0/3)0%   (0/1)
filter (ArrayList): ArrayList 0%   (0/1)0%   (0/103)0%   (0/19)
input (String): ArrayList 0%   (0/1)0%   (0/42)0%   (0/8)
main (String []): void 0%   (0/1)0%   (0/37)0%   (0/7)
output (ArrayList, String): void 0%   (0/1)0%   (0/34)0%   (0/6)
spit (int, String): void 0%   (0/1)0%   (0/28)0%   (0/5)
     
class PlotMan$TCPair0%   (0/1)0%   (0/3)0%   (0/49)0%   (0/10)
PlotMan$TCPair (double, double): void 0%   (0/1)0%   (0/9)0%   (0/4)
parse (String): PlotMan$TCPair 0%   (0/1)0%   (0/27)0%   (0/5)
toString (): String 0%   (0/1)0%   (0/13)0%   (0/1)

1package tuffy.util;
2 
3import java.util.ArrayList;
4 
5public class PlotMan {
6 
7        public static class TCPair{
8                public double time, cost;
9                public TCPair(double t, double c){
10                        time = t;
11                        cost = c;
12                }
13                
14                public String toString(){
15                        return time + "\t" + cost;
16                }
17                
18                public static TCPair parse(String line){
19                        String[] parts = line.trim().split("\t");
20                        if(parts.length != 2) return null;
21                        double t = Double.parseDouble(parts[0]);
22                        double c = Double.parseDouble(parts[1]);
23                        return new TCPair(t,c);
24                }
25        }
26        
27        public ArrayList<TCPair> input(String fin){
28                System.out.println("reading...");
29                ArrayList<String> lines = FileMan.getLines(fin);
30                ArrayList<TCPair> out = new ArrayList<TCPair>();
31                for(String line : lines){
32                        TCPair p = TCPair.parse(line);
33                        if(p != null) out.add(p);
34                }
35                System.out.println("#points = " + out.size());
36                return out;
37        }
38        
39        public void output(ArrayList<TCPair> list, String fout){
40                System.out.println("writing...");
41                StringBuilder sb = new StringBuilder();
42                for(TCPair p : list){
43                        sb.append(p + "\n");
44                }
45                FileMan.writeToFile(fout, sb.toString());
46        }
47        
48        public ArrayList<TCPair> filter(ArrayList<TCPair> list){
49                System.out.println("filtering...");
50                double granu = 100;
51                if(list.size() < 20) return list;
52                ArrayList<TCPair> out = new ArrayList<TCPair>();
53                TCPair first = list.get(0);
54                TCPair last = list.get(list.size()-1);
55                double mint = (last.time - first.time)/granu;
56                double minc = (first.cost - last.cost)/granu;
57                
58                out.add(first);
59                TCPair prev = first;
60                for(int i=1; i<list.size()-1; i++){
61                        TCPair cur = list.get(i);
62                        if(cur.time - prev.time >= mint ||
63                                        prev.cost - cur.cost >= minc){
64                                out.add(cur);
65                                prev = cur;
66                        }
67                }
68                out.add(last);
69                System.out.println("#points = " + out.size());
70                
71                return out;
72        }
73        
74        public void spit(int n, String fout){
75                StringBuilder sb = new StringBuilder();
76                for(int i=1; i<=n; i++){
77                        sb.append("pub(P" + i + ")\n");
78                }
79                FileMan.writeToFile(fout, sb.toString());
80        }
81        
82        public static void main(String[] args) {
83                String loc = "/sandbox/exp/";
84                String fin = loc + "trace.txt";
85                String fout = loc + "points.txt";
86                PlotMan man = new PlotMan();
87                man.spit(1000, "/sandbox/bench/wam/evidence.db");
88                man.output(man.filter(man.input(fin)), fout);
89        }
90 
91}

[all classes][tuffy.util]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov