Files
VisualSapfor/src/ProjectData/GCOV/GCOV_info.java

29 lines
1.1 KiB
Java
Raw Normal View History

2023-09-17 22:13:42 +03:00
package ProjectData.GCOV;
import javafx.util.Pair;
import java.util.LinkedHashMap;
public class GCOV_info {
public long max;
public LinkedHashMap<Integer, Pair<Long, Integer>> line_info = new LinkedHashMap<>();
//номер строки / число ее выполнений / масштаб
public void clear() {
max = 0;
line_info.clear();
}
public void add_line(int num, long count) {
line_info.put(num, new Pair<>(count, 0));
if (max < count) max = count;
}
//пределим минимум и максимум. оба должны быть >0. + определим интервал
public void setup() {
//определям процент по отношению к максимуму
for (int i : line_info.keySet()) {
Pair<Long, Integer> p = line_info.get(i);
int proportion = (max > 0) ? ((int) (((double) p.getKey() / max) * 100)) : 0;
if (proportion < 1) proportion = 1;
line_info.replace(i, new Pair<>(p.getKey(), proportion));
}
}
}