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
FuzzyRuleAntecedent.h@0:66cd67db4f1b, 2015-06-24 (annotated)
- Committer:
- astaff15
- Date:
- Wed Jun 24 06:30:39 2015 +0000
- Revision:
- 0:66cd67db4f1b
eFLL - June 2015
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
astaff15 | 0:66cd67db4f1b | 1 | /* |
astaff15 | 0:66cd67db4f1b | 2 | * Robotic Research Group (RRG) |
astaff15 | 0:66cd67db4f1b | 3 | * State University of Piaui (UESPI), Brazil - Piauí - Teresina |
astaff15 | 0:66cd67db4f1b | 4 | * |
astaff15 | 0:66cd67db4f1b | 5 | * FuzzyRuleAntecedent.h |
astaff15 | 0:66cd67db4f1b | 6 | * |
astaff15 | 0:66cd67db4f1b | 7 | * Author: Msc. Marvin Lemos <marvinlemos@gmail.com> |
astaff15 | 0:66cd67db4f1b | 8 | * AJ Alves <aj.alves@zerokol.com> |
astaff15 | 0:66cd67db4f1b | 9 | * Co authors: Douglas S. Kridi <douglaskridi@gmail.com> |
astaff15 | 0:66cd67db4f1b | 10 | * Kannya Leal <kannyal@hotmail.com> |
astaff15 | 0:66cd67db4f1b | 11 | */ |
astaff15 | 0:66cd67db4f1b | 12 | #ifndef FUZZYRULEANTECEDENT_H |
astaff15 | 0:66cd67db4f1b | 13 | #define FUZZYRULEANTECEDENT_H |
astaff15 | 0:66cd67db4f1b | 14 | |
astaff15 | 0:66cd67db4f1b | 15 | // IMPORTANDO AS BIBLIOTECAS NECESSÁRIAS |
astaff15 | 0:66cd67db4f1b | 16 | #include <stdlib.h> |
astaff15 | 0:66cd67db4f1b | 17 | #include "FuzzySet.h" |
astaff15 | 0:66cd67db4f1b | 18 | |
astaff15 | 0:66cd67db4f1b | 19 | // CONSTANTES |
astaff15 | 0:66cd67db4f1b | 20 | #define OP_AND 1 |
astaff15 | 0:66cd67db4f1b | 21 | #define OP_OR 2 |
astaff15 | 0:66cd67db4f1b | 22 | #define MODE_FS 1 |
astaff15 | 0:66cd67db4f1b | 23 | #define MODE_FS_FS 2 |
astaff15 | 0:66cd67db4f1b | 24 | #define MODE_FS_FRA 3 |
astaff15 | 0:66cd67db4f1b | 25 | #define MODE_FRA_FRA 4 |
astaff15 | 0:66cd67db4f1b | 26 | |
astaff15 | 0:66cd67db4f1b | 27 | class FuzzyRuleAntecedent { |
astaff15 | 0:66cd67db4f1b | 28 | public: |
astaff15 | 0:66cd67db4f1b | 29 | // CONSTRUTORES |
astaff15 | 0:66cd67db4f1b | 30 | FuzzyRuleAntecedent(); |
astaff15 | 0:66cd67db4f1b | 31 | // MÉTODOS PÚBLICOS |
astaff15 | 0:66cd67db4f1b | 32 | bool joinSingle(FuzzySet* fuzzySet); |
astaff15 | 0:66cd67db4f1b | 33 | bool joinWithAND(FuzzySet* fuzzySet1, FuzzySet* fuzzySet2); |
astaff15 | 0:66cd67db4f1b | 34 | bool joinWithOR(FuzzySet* fuzzySet1, FuzzySet* fuzzySet2); |
astaff15 | 0:66cd67db4f1b | 35 | bool joinWithAND(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent); |
astaff15 | 0:66cd67db4f1b | 36 | bool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet); |
astaff15 | 0:66cd67db4f1b | 37 | bool joinWithOR(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent); |
astaff15 | 0:66cd67db4f1b | 38 | bool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet); |
astaff15 | 0:66cd67db4f1b | 39 | bool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2); |
astaff15 | 0:66cd67db4f1b | 40 | bool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2); |
astaff15 | 0:66cd67db4f1b | 41 | float evaluate(); |
astaff15 | 0:66cd67db4f1b | 42 | |
astaff15 | 0:66cd67db4f1b | 43 | private: |
astaff15 | 0:66cd67db4f1b | 44 | // VARIÁVEIS PRIVADAS |
astaff15 | 0:66cd67db4f1b | 45 | int op; // operador lógico |
astaff15 | 0:66cd67db4f1b | 46 | int mode; |
astaff15 | 0:66cd67db4f1b | 47 | FuzzySet* fuzzySet1; |
astaff15 | 0:66cd67db4f1b | 48 | FuzzySet* fuzzySet2; |
astaff15 | 0:66cd67db4f1b | 49 | FuzzyRuleAntecedent* fuzzyRuleAntecedent1; |
astaff15 | 0:66cd67db4f1b | 50 | FuzzyRuleAntecedent* fuzzyRuleAntecedent2; |
astaff15 | 0:66cd67db4f1b | 51 | }; |
astaff15 | 0:66cd67db4f1b | 52 | #endif |