Version 6.0 =========== Overview -------- * The FuzzyLite Libraries, namely fuzzylite and jfuzzylite, both in version 6.0, are licensed under the GNU General Public License version 3. * By default, fuzzylite builds using C++11 instead of C++98. * Important performance improvements. * Refactored the following names for the operation of engines: from activation operator to implication operator, from accumulation operator to aggregation operator. * Renamed the term `Accumulated` to `Aggregated`. * New activation methods decouple the activation of rules from the rule block and provide different methods for activating rules (see Activation Methods). * New class `ActivationFactory` provides a factory of activation methods. * New class `Benchmark` to evaluate the performance and accuracy of engines. * New class `Complexity` to estimate the computational complexity of an engine. * New class `RScriptExporter` to export the surfaces of an engine using the `ggplot2` library. * New class `BinaryTerm` for binary edges. * New `UnboundedSum` S-Norm in `SNormFactory`. * New classes `SNormFunction` and `TNormFunction` to create custom functions on any two values using the `Function` class. * Added description strings to `Engine`, `Variable` and `RuleBlock` * Privatized previously protected members of classes and subclasses of `Term`, `Variable`, `Rule`, `Defuzzifier`, `[Cloning|Construction]Factory`, `Importer`, `Exporter`, amongst others. * Improved portability by replacing `int` for `std::size_t` where necessary, thereby additionally removing warnings in Windows 64bit * Deleted `Operation.cpp` and inlined its methods into `Operation.h` * Updated `.travis.yml` to use Docker, and build using g++ (versions 6, 5, 4.9, 4.8, 4.7) and clang (versions 3.8, 3.7, 3.6, and 3.5). * Added `appveyor.yml` to use continuous integration in Windows under Visual Studio 2013 and 2015. * Added some unit tests and support for future unit tests. * Bug fixes. * New example of hybrid engines. * New example on obstacle avoidance for Mamdani, Takagi-Sugeno, and Hybrid engines. * New R scripts for each example and its respective surfaces in `pdf` formats.