package flintstones.domain.fuzzyset.semantic; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import flintstones.domain.fuzzyset.FuzzySet; import flintstones.domain.fuzzyset.function.FragmentFunction; import flintstones.domain.numeric.real.NumericRealDomain; import flintstones.helper.data.wxml.WNode; @SuppressWarnings("javadoc") public abstract class IMembershipFunction implements Cloneable, Comparable { public IMembershipFunction() { } public abstract FragmentFunction toFragmentFunction(); public abstract boolean isSymmetrical(); public abstract boolean isSymmetrical(IMembershipFunction other, double center); public abstract NumericRealDomain getCenter(); public abstract NumericRealDomain getCoverage(); public abstract double getMembershipValue(double x); public abstract double centroid(); public abstract double maxMin(double max, double min); public abstract double maxMin(IMembershipFunction function, FuzzySet bltsDomain, FuzzySet valuationDomain); @Override public abstract Object clone(); public abstract void write(XMLStreamWriter writer) throws XMLStreamException; public abstract void read(WNode node); public abstract void setLimits(double[] limits); }