DiscreteTerm.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * File: DiscreteTerm.h
  3. * Author: jcrada
  4. *
  5. * Created on May 9, 2010, 8:17 PM
  6. */
  7. #ifndef FL_DISCRETETERM_H
  8. #define FL_DISCRETETERM_H
  9. #include "LinguisticTerm.h"
  10. namespace fl {
  11. class DiscreteTerm : public LinguisticTerm {
  12. private:
  13. std::vector<flScalar> _x;
  14. std::vector<flScalar> _y;
  15. public:
  16. DiscreteTerm();
  17. DiscreteTerm(const std::string& name, const std::vector<flScalar>& x = std::vector<flScalar>(),
  18. const std::vector<flScalar>& y = std::vector<flScalar>());
  19. DiscreteTerm(const FuzzyOperator& fuzzy_op, const std::string& name,
  20. const std::vector<flScalar>& x = std::vector<flScalar>(),
  21. const std::vector<flScalar>& y = std::vector<flScalar>());
  22. virtual ~DiscreteTerm();
  23. virtual void setXY(int index, flScalar x, flScalar y);
  24. virtual void setXY(const std::vector<flScalar>&x, const std::vector<flScalar>&y);
  25. virtual void addXY(flScalar x, flScalar y);
  26. virtual void remove(int index);
  27. virtual void clear();
  28. virtual int numberOfCoords() const;
  29. virtual flScalar minimum() const;
  30. virtual flScalar maximum() const;
  31. virtual DiscreteTerm* clone() const;
  32. virtual flScalar membership(flScalar crisp) const;
  33. virtual eMembershipFunction type() const;
  34. virtual std::string toString() const;
  35. };
  36. }
  37. #endif /* FL_DISCRETETERM_H */