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

Committer:
astaff15
Date:
Wed Jun 24 15:08:13 2015 +0000
Revision:
2:460b409e26e8
Parent:
0:66cd67db4f1b
Corrected FuzzyOutput destructor bug

Who changed what in which revision?

UserRevisionLine numberNew 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