A fuzzy logic C++ library
|
This file contains implementation of the fuzzy AND, OR and product functions, plus some functions used by them. More...
#include "global_functions.hpp"
#include "slifis.hpp"
#include "pline.hpp"
#include "private.hpp"
#include <boost/version.hpp>
Namespaces | |
namespace | slifis |
This namespace includes all root classes, functions, and datatypes of the library. | |
Functions | |
void | slifis::P_FindIntersectionPoints (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Finds all intersection points between f1 and f2 , and adds them to out . | |
void | slifis::P_ProcessPoints (const MEMBFUNC &fa, const MEMBFUNC &fb, MEMBFUNC &out, EN_MERGE_OP op) |
Considers all points of fa and fb , and adds them to out . Local function, not exported. | |
void | slifis::P_FindLowestFunction (const MEMBFUNC *f1, const MEMBFUNC *f2, const MEMBFUNC **f_L, const MEMBFUNC **f_R) |
Returns in f_L a pointer on the function f1 or f2, the one that first point is the lowest, and in f_R the other one. | |
static void | slifis::PrintDifferences (FILE *f, const RULE_BASE &rb1, const RULE_BASE &rb2) |
Prints in f the differences between the two rule bases. | |
static void | slifis::PrintDifferences (FILE *f, const FUZZY_ROOT &set1, const FUZZY_ROOT &set2) |
Prints in f the differences between the two sets of functions. | |
void | slifis::FuzzyMerge (EN_MERGE_OP op, const MEMBFUNC &in1, const MEMBFUNC &in2, MEMBFUNC &out) |
A wrapper functions for combining two membership function together, using slifis::EN_MERGE_OP. | |
void | slifis::FuzzyBSum (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs bounded sum between two functions ( ) | |
void | slifis::FuzzyPSum (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs Probabilistic sum between two functions ( ) | |
void | slifis::FuzzyLukas (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs Ćukasiewicz t-norm between two functions ( ) | |
void | slifis::FuzzyProduct (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs fuzzy product between two functions. | |
void | slifis::FuzzyMin (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs fuzzy MIN between two functions. | |
void | slifis::FuzzyMax (const MEMBFUNC &f1, const MEMBFUNC &f2, MEMBFUNC &out) |
Performs fuzzy MAX between two functions. | |
size_t | slifis::P_FIP_OneSide (const MEMBFUNC *f1, const MEMBFUNC *f2, MEMBFUNC *out) |
Finds all intersection points between f1 and f2 , and adds them to out . | |
void | slifis::P_Process_OneSide (const MEMBFUNC &fa, const MEMBFUNC &fb, MEMBFUNC &out, EN_MERGE_OP op) |
Consider all points of fa , and compare to y value of fb . Add point to out if operation op tells to do so. | |
void | slifis::P_AddPointIfInInterval (MEMBFUNC *out, REALVAL x, FUZZYVAL y, REALVAL x1, REALVAL x2) |
Local function, not exported. | |
const char * | slifis::GetNow_String () |
A function for returning current date. | |
void | slifis::PrintBuildInfo (std::ostream &st) |
Prints out build information in stream st . | |
void | slifis::PrintDifferences (FILE *f, const SLIFIS &fis1, const SLIFIS &fis2) |
Prints in f the differences between the two FIS. |
This file contains implementation of the fuzzy AND, OR and product functions, plus some functions used by them.
The task is divided in several steps: