aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/ILP-Solver/hu.bme.mit.inf.dslreasoner.ilp.cbc/src/hu/bme/mit/inf/dslreasoner/ilp/cbc/CbcResult.java
blob: dae3a447a31a45fabe7a61dbc3d0a6ee24db9d3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package hu.bme.mit.inf.dslreasoner.ilp.cbc;

public abstract class CbcResult {
	public static final CbcResult SOLUTION_UNBOUNDED = new CbcResult() {
	};

	public static final CbcResult UNSAT = new CbcResult() {
	};
	
	public static final CbcResult ABANDONED = new CbcResult() {
	};

	public static final CbcResult TIMEOUT = new CbcResult() {
	};

	private CbcResult() {
	}

	public static class SolutionBounded extends CbcResult {
		public final double value;

		public SolutionBounded(double value) {
			this.value = value;
		}

		public double getValue() {
			return value;
		}

		@Override
		public int hashCode() {
			final int prime = 31;
			int result = 1;
			long temp;
			temp = Double.doubleToLongBits(value);
			result = prime * result + (int) (temp ^ (temp >>> 32));
			return result;
		}

		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			SolutionBounded other = (SolutionBounded) obj;
			if (Double.doubleToLongBits(value) != Double.doubleToLongBits(other.value))
				return false;
			return true;
		}
	}
}