fuzzylite  6.0
A Fuzzy Logic Control Library in C++
fuzzylite.h File Reference
#include <algorithm>
#include <cmath>
#include <iostream>
#include <sstream>
#include <limits>
#include <memory>
#include <cstddef>
Include dependency graph for fuzzylite.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fl::fuzzylite
 The fuzzylite class contains global settings and information about the library. More...
 

Namespaces

 fl
 Template implementation.
 

Macros

#define FL_BUILD_PATH   ""
 
#define FL__FILE__   std::string(__FILE__).substr(std::string(FL_BUILD_PATH).size())
 
#define FL_LOG_PREFIX   FL__FILE__ << " (" << __LINE__ << "):"
 
#define FL_AT   FL__FILE__, __LINE__, __FUNCTION__
 
#define FL_LOG(message)   {if (fl::fuzzylite::isLogging()){std::cout << FL_LOG_PREFIX << message << std::endl;}}
 
#define FL_LOGP(message)   {if (fl::fuzzylite::isLogging()){std::cout << message << std::endl;}}
 
#define FL_DEBUG_BEGIN   if (fl::fuzzylite::isDebugging()){
 
#define FL_DEBUG_END   }
 
#define FL_DBG(message)
 
#define FL_API
 
#define FL_IUNUSED(x)   (void) (x)
 
#define FL_IUNUSED_DECL
 
#define FL_unique_ptr   std::unique_ptr
 
#define FL_move_ptr(x)   std::move(x)
 
#define FL_IOVERRIDE   override
 
#define FL_IFINAL   final
 
#define FL_IDEFAULT   = default
 
#define FL_IDELETE   = delete
 
#define FL_INOEXCEPT   noexcept
 
#define FL_ITHREAD_LOCAL   /*thread_local (commented for performance)*/
 
#define FL_DEFAULT_COPY(Class)
 
#define FL_DEFAULT_MOVE(Class)
 
#define FL_DEFAULT_COPY_AND_MOVE(Class)
 
#define FL_DISABLE_COPY(Class)
 

Typedefs

typedef double fl::scalar
 Represents floating-point values (typedef to float or double). More...
 

Variables

const scalar nan fl::FL_IUNUSED_DECL = std::numeric_limits<scalar>::quiet_NaN()
 Represents the Not-A-Number scalar value. More...
 
const std::nullptr_t fl::null = nullptr
 Represents the C++11 or C++98 null pointer depending on whether the compilation flag -DFL_CPP98 is set. More...
 

Macro Definition Documentation

◆ FL__FILE__

#define FL__FILE__   std::string(__FILE__).substr(std::string(FL_BUILD_PATH).size())

Definition at line 47 of file fuzzylite.h.

◆ FL_API

#define FL_API

Definition at line 94 of file fuzzylite.h.

Referenced by fl::Operation::join(), and fl::Operation::str().

◆ FL_AT

◆ FL_BUILD_PATH

#define FL_BUILD_PATH   ""

Definition at line 29 of file fuzzylite.h.

◆ FL_DBG

#define FL_DBG (   message)
Value:
FL_DEBUG_BEGIN\
std::cout << FL__FILE__ << "::" << __FUNCTION__ << "[" << __LINE__ << "]:" \
<< message << std::endl;\
FL_DEBUG_END
#define FL__FILE__
Definition: fuzzylite.h:47

Definition at line 59 of file fuzzylite.h.

◆ FL_DEBUG_BEGIN

#define FL_DEBUG_BEGIN   if (fl::fuzzylite::isDebugging()){

Definition at line 56 of file fuzzylite.h.

◆ FL_DEBUG_END

#define FL_DEBUG_END   }

Definition at line 57 of file fuzzylite.h.

◆ FL_DEFAULT_COPY

#define FL_DEFAULT_COPY (   Class)
Value:
Class(const Class&) = default; \
Class& operator=(const Class&) = default;

Definition at line 184 of file fuzzylite.h.

◆ FL_DEFAULT_COPY_AND_MOVE

#define FL_DEFAULT_COPY_AND_MOVE (   Class)
Value:
Class(const Class&) = default; \
Class& operator=(const Class&) = default;\
Class(Class&&) = default; \
Class& operator=(Class&&) = default;

Definition at line 190 of file fuzzylite.h.

Referenced by fl::Activation::~Activation(), fl::Defuzzifier::~Defuzzifier(), fl::Hedge::~Hedge(), fl::Norm::~Norm(), fl::SNorm::~SNorm(), and fl::TNorm::~TNorm().

◆ FL_DEFAULT_MOVE

#define FL_DEFAULT_MOVE (   Class)
Value:
Class(Class&&) = default; \
Class& operator=(Class&&) = default;

Definition at line 187 of file fuzzylite.h.

◆ FL_DISABLE_COPY

#define FL_DISABLE_COPY (   Class)
Value:
Class(const Class &) = delete;\
Class &operator=(const Class &) = delete;

Definition at line 196 of file fuzzylite.h.

◆ FL_IDEFAULT

#define FL_IDEFAULT   = default

Definition at line 178 of file fuzzylite.h.

◆ FL_IDELETE

#define FL_IDELETE   = delete

Definition at line 179 of file fuzzylite.h.

◆ FL_IFINAL

#define FL_IFINAL   final

Definition at line 177 of file fuzzylite.h.

◆ FL_INOEXCEPT

#define FL_INOEXCEPT   noexcept

Definition at line 180 of file fuzzylite.h.

◆ FL_IOVERRIDE

#define FL_IOVERRIDE   override

Definition at line 176 of file fuzzylite.h.

Referenced by fl::SNorm::~SNorm(), and fl::TNorm::~TNorm().

◆ FL_ITHREAD_LOCAL

#define FL_ITHREAD_LOCAL   /*thread_local (commented for performance)*/

Definition at line 181 of file fuzzylite.h.

◆ FL_IUNUSED

#define FL_IUNUSED (   x)    (void) (x)

Definition at line 117 of file fuzzylite.h.

Referenced by fl::Operation::str().

◆ FL_IUNUSED_DECL

#define FL_IUNUSED_DECL

Definition at line 122 of file fuzzylite.h.

◆ FL_LOG

#define FL_LOG (   message)    {if (fl::fuzzylite::isLogging()){std::cout << FL_LOG_PREFIX << message << std::endl;}}

Definition at line 53 of file fuzzylite.h.

◆ FL_LOG_PREFIX

#define FL_LOG_PREFIX   FL__FILE__ << " (" << __LINE__ << "):"

Definition at line 49 of file fuzzylite.h.

◆ FL_LOGP

#define FL_LOGP (   message)    {if (fl::fuzzylite::isLogging()){std::cout << message << std::endl;}}

Definition at line 54 of file fuzzylite.h.

◆ FL_move_ptr

#define FL_move_ptr (   x)    std::move(x)

Definition at line 173 of file fuzzylite.h.

◆ FL_unique_ptr

#define FL_unique_ptr   std::unique_ptr

Definition at line 172 of file fuzzylite.h.