@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; LinguisticImperfectField that = (LinguisticImperfectField) o; if (innerField != null ? !innerField.equals(that.innerField) : that.innerField != null) return false; return true; }
public DistributionStrategies<T> getStrategies() { return innerField.getStrategies(); }
public Distribution<T> getCurrent() { return innerField.getCurrent(); }
public Distribution<T> getPast(int time) throws IndexOutOfBoundsException { return innerField.getPast(time); }
public T getCrisp() { return innerField.getCrisp(); }
public boolean isSet() { return innerField.isSet(); }
public String toString() { return "(L)" + innerField.toString(); }
public void update(T value, Degree deg, String... p) { innerField.update(value, deg, p); }
public void setValue(T value, Degree deg, String... params) { innerField.setValue(value, deg, params); }
public void setValue(T value, boolean update) { innerField.setValue(value, update); }
public void setValue(T value) { innerField.setValue(value); }
@Override public int hashCode() { return innerField != null ? innerField.hashCode() : 0; }
public Distribution<T> fuzzify(Number val) { Map<? extends T, ? extends Degree> m = ((ShapedFuzzyPartition) innerField.getCurrent()).fuzzify(val); return getStrategies().newDistribution(m); }
public Number defuzzify() { Number ans = subStrats.toCrispValue( ((ShapedFuzzyPartition) innerField.getCurrent()).asInducedPossibilityDistribution()); return ans; }
public void update(Distribution<T> fieldBit) { innerField.update(fieldBit); }
public void setValue(Distribution<T> dist) { innerField.setValue(dist); }
public void update(T value) { innerField.update(value); }
public void setValue(Distribution<T> dist, boolean update) { innerField.setValue(dist, update); }
public boolean isNormalized() { return innerField.isNormalized(); }
public void normalize() { innerField.normalize(); }