A fuzzy logic C++ library
File List
Here is a list of all files with brief descriptions:
gapi/gapi_glue.cppGlue code between slifis gapi interface (header file gapi_glue.hpp), which defines some datatypes, and the back-end graphical and windowing library
gapi/gapi_glue.hppProvides an interface for all the graphical stuff into a common graphical API (see Slifis Graphical API for plotting), so we can make the code independent from the used graphical library
gapi/grid.cpp
gapi/grid.hpp
gapi/grid_cell.cpp
gapi/grid_cell.hpp
gapi/plot.cpp
gapi/plot.hppHolds declaration of PLOT, and default values of the plots parameters
gapi/plot_fs.cpp
gapi/plot_fs.hpp
gapi/plot_fuzzy.cpp
gapi/plot_fuzzy.hppDeclaration of slifis_plot::PLOT_HSCALE and slifis_plot::PLOT_FUZZY
gapi/plot_mf.cpp
gapi/plot_mf.hpp
gapi/plot_private.hppPrivate header file for gapi interface, IS INCLUDED ONLY IN .CPP FILES
gapi/plot_rb.cppImplementation of slifis_plot::PLOT_RB
gapi/plot_rb.hpp
gapi/plot_rb_2d.cppImplementation of class slifis_plot::PLOT_RB_2D
gapi/plot_rb_2d.hppDeclaration of class slifis_plot::PLOT_RB_2D
gapi/plot_rb_text.cppImplementation of slifis_plot::PLOT_RB_TEXT
gapi/plot_rb_text.hppDeclaration of slifis_plot::PLOT_RB_TEXT, slifis_plot::EN_POS_TYPE, slifis_plot::EN_SELECTION_TYPE, slifis_plot::POSITION_INFO
gapi/slifis_gapi.hppThis is the file you have to include if you want to use the API of this lib (and ONLY this one !)
include/app_common.hppCommon declarations for demos and applications, not exported into user apps
include/data_descr.hppHolds declaration of slifis::DATA_DESCR
include/data_point.hppHolds declaration of slifis::VALUE_STRING slifis::VALUE_NUM slifis::VALUE slifis::DATA_POINT
include/data_set.hppHolds declaration of slifis::DATA_SET
include/datafile_info.hppHolds declaration of slifis::DATAFILE_INFO and some related enums
include/dataset_properties.hppHolds declaration of slifis::DATASET_PROPERTIES
include/debug.hThis file contains some common stuff for the library
include/error_handler.hpp
include/fpoint.hpp
include/fuzzy_in.hppDeclaration of class slifis::FUZZY_IN
include/fuzzy_out.hppDeclaration of class slifis::FUZZY_OUT
include/fuzzy_root.hppDeclaration of class slifis::FUZZY_ROOT
include/fuzzytype.hppDefines the slifis::FUZZYVAL class, along with other stuff
include/global_functions.hppHeader file for public fuzzy merging functions
include/gnuplot_file.hpp
include/helper_functions.hppHolds declarations of some small utility functions
include/input_range.hppDeclaration of slifis::INPUT_RANGE
include/input_sets.hppImplementation of class slifis::INPUT_SETS
include/membfunc.hppDeclaration of class slifis::MEMBFUNC
include/rb_table.hpp
include/root_rule.hppDeclaration of class slifis::ROOT_RULE
include/rule.hppDeclaration of class slifis::RULE
include/rule_base.hppDeclaration of class slifis::RULE_BASE
include/rule_idx.hppDeclaration of class slifis::RULE_IDX
include/slifis.hppMain include file, also holds declaration of class SLIFIS
include/slifis_datatypes.hppDatatypes and other common stuff
src/app/cl/build-rule-base.cppBuilds a FIS rule set automatically with provided input file
src/app/cl/compute-score.cppLoads a FIS, reads data file and compute score for each line of datafile, output is in output file (arg3)
src/app/cl/data-analysis.cppBuild histogram file of data, to be plotted with gnuplot
src/app/gui/try-fis.cppVisual FIS evaluating
src/core/data_descr.cppHolds implementation of slifis::DATA_DESCR
src/core/data_point.cppImplementation of class slifis::DATA_POINT
src/core/data_set.cppImplementation of class slifis::DATA_SET
src/core/datafile_info.cppImplementation of slifis::DATAFILE_INFO
src/core/dataset_properties.cppHolds implementation of slifis::DATASET_PROPERTIES
src/core/debug.cppHolds some global variables
src/core/error_handler.cppHolds error handling code
src/core/fpoint.cppImplementation of class slifis::FPOINT
src/core/fuzzy_in.cppImplementation of class slifis::FUZZY_IN
src/core/fuzzy_out.cppImplementation of class slifis::FUZZY_OUT
src/core/fuzzy_root.cppImplementation of virtual class slifis::FUZZY_ROOT
src/core/fuzzytype.cppImplementation of class slifis::FUZZYVAL
src/core/global_functions.cppThis file contains implementation of the fuzzy AND, OR and product functions, plus some functions used by them
src/core/gnuplot_file.cpp
src/core/helper_functions.cppHolds implementation of some small utility functions
src/core/input_sets.cppImplementation of class slifis::INPUT_SETS
src/core/membfunc.cppImplementation of class slifis::MEMBFUNC
src/core/private.hppPrivate header, symbols here never get exported in user space, only included in .cpp files
src/core/rb_table.cpp
src/core/root_rule.cppImplementation of class slifis::ROOT_RULE
src/core/rule.cppImplementation of class slifis::RULE
src/core/rule_base.cppImplementation of class slifis::RULE_BASE
src/core/rule_idx.cppImplementation of class slifis::RULE_IDX
src/core/slifis.cppImplementation of class SLIFIS
src/demo/cl/demo-shower.cppProgrammaticaly build of FIS of the "shower" problem
src/demo/cl/demo-tipping.cppProgrammaticaly build of FIS of the "tipping" problem, as described in: http://www.mathworks.fr/fr/help/fuzzy/an-introductory-example-fuzzy-versus-nonfuzzy-logic.html
src/demo/cl/test_learning_1.cppGenerates dummy random data, just for testing the "learning" code
src/demo/gui/demo1.cppVisual basic fuzzy test, see detailed description
src/demo/gui/demo2.cppVisual test app for merging functions (t-norms and s-norms), see
src/demo/gui/demo3.cppGraphical demo of defuzzifying and unary operations (complement, alpha-cut, truncate, scale) on membership functions
src/demo/gui/generate-doc-plots.cppGenerates the plots included in the doc
src/doc/doc_dataset.h
src/doc/doc_defuzz.h
src/doc/doc_dev_info.h
src/doc/doc_errorhandling.h
src/doc/doc_faq.h
src/doc/doc_file.h
src/doc/doc_fuzzy_set.h
src/doc/doc_gapi.hpp
src/doc/doc_learning.h
src/doc/doc_main_1.h
src/doc/doc_mf.h
src/doc/doc_rules.h
src/doc/doc_screenshots.h
src/doc/doc_trigger.h
src/doc/doc_ug_datatypes.h
src/doc/doc_users_guide.h