Fuzzy libray for embedded targets developed by zerokol. Read more on: http://zerokol.com/product/51e93616e84c5571b7000018/2/en edit by Bruno Alfano - corrected deallocation of FuzzyOutput
Fuzzy library by Zerokol. Read more on: http://zerokol.com/product/51e93616e84c5571b7000018/2/en
edit by Bruno Alfano - corrected deallocation bug for FuzzyOutput
Diff: FuzzyRuleAntecedent.h
- Revision:
- 0:66cd67db4f1b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FuzzyRuleAntecedent.h Wed Jun 24 06:30:39 2015 +0000 @@ -0,0 +1,52 @@ +/* + * Robotic Research Group (RRG) + * State University of Piaui (UESPI), Brazil - Piauí - Teresina + * + * FuzzyRuleAntecedent.h + * + * Author: Msc. Marvin Lemos <marvinlemos@gmail.com> + * AJ Alves <aj.alves@zerokol.com> + * Co authors: Douglas S. Kridi <douglaskridi@gmail.com> + * Kannya Leal <kannyal@hotmail.com> + */ +#ifndef FUZZYRULEANTECEDENT_H +#define FUZZYRULEANTECEDENT_H + +// IMPORTANDO AS BIBLIOTECAS NECESSÁRIAS +#include <stdlib.h> +#include "FuzzySet.h" + +// CONSTANTES +#define OP_AND 1 +#define OP_OR 2 +#define MODE_FS 1 +#define MODE_FS_FS 2 +#define MODE_FS_FRA 3 +#define MODE_FRA_FRA 4 + +class FuzzyRuleAntecedent { + public: + // CONSTRUTORES + FuzzyRuleAntecedent(); + // MÉTODOS PÚBLICOS + bool joinSingle(FuzzySet* fuzzySet); + bool joinWithAND(FuzzySet* fuzzySet1, FuzzySet* fuzzySet2); + bool joinWithOR(FuzzySet* fuzzySet1, FuzzySet* fuzzySet2); + bool joinWithAND(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent); + bool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet); + bool joinWithOR(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent); + bool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet); + bool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2); + bool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2); + float evaluate(); + + private: + // VARIÁVEIS PRIVADAS + int op; // operador lógico + int mode; + FuzzySet* fuzzySet1; + FuzzySet* fuzzySet2; + FuzzyRuleAntecedent* fuzzyRuleAntecedent1; + FuzzyRuleAntecedent* fuzzyRuleAntecedent2; +}; +#endif \ No newline at end of file