package net.seninp.tinker; import java.util.List; public class SamplerRecord { protected int window; protected int paa; protected int alphabet; protected double approxDist; protected int grammarSize; protected int grammarRules; protected int compressedGrammarSize; protected int prunedRules; protected int isCovered; protected double coverage; protected double reduction; public SamplerRecord(List<String> record) { int ctr = -1; window = Integer.valueOf(record.get(ctr + 1)).intValue(); paa = Integer.valueOf(record.get(ctr + 2)).intValue(); alphabet = Integer.valueOf(record.get(ctr + 3)).intValue(); approxDist = Double.valueOf(record.get(ctr + 4)).doubleValue(); grammarSize = Integer.valueOf(record.get(ctr + 5)).intValue(); grammarRules = Integer.valueOf(record.get(ctr + 6)).intValue(); compressedGrammarSize = Integer.valueOf(record.get(ctr + 7)).intValue(); prunedRules = Integer.valueOf(record.get(ctr + 8)).intValue(); isCovered = Integer.valueOf(record.get(ctr + 9)).intValue(); coverage = Double.valueOf(record.get(ctr + 10)).intValue(); reduction = (double) compressedGrammarSize / (double) grammarSize; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + alphabet; long temp; temp = Double.doubleToLongBits(approxDist); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + compressedGrammarSize; temp = Double.doubleToLongBits(coverage); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + grammarRules; result = prime * result + grammarSize; result = prime * result + isCovered; result = prime * result + paa; result = prime * result + prunedRules; temp = Double.doubleToLongBits(reduction); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + window; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SamplerRecord other = (SamplerRecord) obj; if (alphabet != other.alphabet) return false; if (Double.doubleToLongBits(approxDist) != Double.doubleToLongBits(other.approxDist)) return false; if (compressedGrammarSize != other.compressedGrammarSize) return false; if (Double.doubleToLongBits(coverage) != Double.doubleToLongBits(other.coverage)) return false; if (grammarRules != other.grammarRules) return false; if (grammarSize != other.grammarSize) return false; if (isCovered != other.isCovered) return false; if (paa != other.paa) return false; if (prunedRules != other.prunedRules) return false; if (Double.doubleToLongBits(reduction) != Double.doubleToLongBits(other.reduction)) return false; if (window != other.window) return false; return true; } @Override public String toString() { return "SamplerRecord [window=" + window + ", paa=" + paa + ", alphabet=" + alphabet + ", approxDist=" + approxDist + ", grammarSize=" + grammarSize + ", grammarRules=" + grammarRules + ", compressedGrammarSize=" + compressedGrammarSize + ", prunedRules=" + prunedRules + ", isCovered=" + isCovered + ", coverage=" + coverage + ", reduction=" + reduction + "]"; } }