Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The mapping then provides a basis from which decisions can be made, or patterns discerned. The process of fuzzy inference involves all of the pieces that are described in the previous sections: Membership Functions, Logical Operations, and If-Then Rules. You can implement two types of fuzzy inference systems in the toolbox: Mamdani-type and Sugeno-type. These two types of inference systems vary somewhat in the way outputs are determined. See the Bibliography for references to descriptions of these two types of fuzzy inference systems. 
Fuzzy inference systems have been successfully applied in fields such as automatic control, data classification, decision analysis, expert systems, and computer vision. Because of its multidisciplinary nature, fuzzy inference systems are associated with a number of names, such as fuzzy-rule-based systems, fuzzy expert systems, fuzzy modeling, fuzzy associative memory, fuzzy logic controllers, and simply (and ambiguously) fuzzy systems.
FFIS or Fast Fuzzy Inference System is a portable and optimized implementation of Fuzzy Inference Systems. It supports both Mamdani and Takagi-Sugeno methods. The main idea behind this tool, is to provide case-special techniques rather than general solutions to resolve complicated mathematical calculations. This will lead to have more efficient defuzzification algorithms for Mamdani's model. Most systems in Mamdani's model can be defuzzified in O(n²) or even O(n) time which n is number of membership functions in output.
FFIS provides a feasible high-level C++/API. Also additional useful features have been implemented such as: