Project

General

Profile

1 41642 claudio.at
package eu.dnetlib.pace.distance.eval;
2
3
import java.util.HashMap;
4
5
/**
6
 * Created by claudio on 10/03/16.
7
 */
8
public class DistanceEvalMap extends HashMap<String, DistanceEval> {
9
10
	private double sumWeights;
11
12
	private double sumDistances = 0.0;
13
14
	public DistanceEvalMap(final double sumWeights) {
15
		this.sumWeights = sumWeights;
16
	}
17
18
	public void updateDistance(final DistanceEval d) {
19
20
		put(d.getFieldDef().getName(), d);
21
		if (d.getDistance() >= 0) {
22
			sumDistances += d.getDistance();
23
		} else {
24
			sumWeights -= d.getFieldDef().getWeight();
25
		}
26
	}
27
28
	public double distance() {
29
		return sumWeights == 0 ? 0 : sumDistances / sumWeights;
30
	}
31
32
}