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 tnorm 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: