1 package fr.orsay.lri.varna.models.treealign;
5 * This distance is such that a substitution costs nothing.
7 * @author Raphael Champeimont
10 public class ExampleDistance2 implements TreeAlignLabelDistanceSymmetric<RNANodeValue2> {
11 public double f(RNANodeValue2 v1, RNANodeValue2 v2) {
15 } else if (!v2.isSingleNode()) { // v2 is a list of bases
16 return v2.getNodes().size();
17 } else { // v2 is a single node
20 } else if (!v1.isSingleNode()) { // v1 is a list of bases
22 return v1.getNodes().size();
23 } else if (!v2.isSingleNode()) { // v2 is a list of bases
24 return Math.abs(v2.getNodes().size() - v1.getNodes().size());
25 } else { // v2 is a single node
26 return 2 + v1.getNodes().size();
28 } else { // v1 is a single node
29 // all the same as when v1 == null
32 } else if (!v2.isSingleNode()) { // v2 is a list of bases
33 return 2 + v2.getNodes().size();
34 } else { // v2 is a single node