cfl_definitions.h File Reference

Compiletime options. More...

#include <iostream>
#include <sstream>
#include <inttypes.h>
#include "configuration.h"
#include "doxygen_groups.h"

Go to the source code of this file.

Namespaces

 faudes
 libFAUDES resides within the namespace faudes.
 

Macros

#define FAUDES_IDX_MAX   0xFFFFFFFFU
 
#define FAUDES_INT_MIN   (std::numeric_limits<int>::min())
 
#define FAUDES_INT_MAX   (std::numeric_limits<Type>::max())
 
#define FD_NAMELEN   13
 Length of strings for text fields in token output. More...
 
#define FD_MAXCONTAINERNAME   70
 Max length of automatic container names (set to -1 for unlimited) More...
 
#define FD_SMALLTRANSREL   100
 Max size of transrel for state name output. More...
 
#define FD_CONSECUTIVE   6
 Min number of states to use consecutive section in file output. More...
 
#define FD_RTIMAXSIG   5
 Max number of automatic signatures. More...
 
#define FAUDES_WRITE_DIRECT(message)    { if(!faudes::ConsoleOut::G()->Mute()) { std::cout << message << std::endl;} }
 Debug: console output, no redirection. More...
 
#define FAUDES_WRITE_CONSOLE(message)
 Debug: output macro for optional redirection of all console output. More...
 
#define FD_WARN(message)   FAUDES_WRITE_CONSOLE("FAUDES_WARNING: " << message)
 Debug: always report warnings. More...
 
#define FD_ERR(message)
 Debug: report more errors with file/line info. More...
 
#define FD_WP(message)
 Application callback: optional write progress report to console or application. More...
 
#define FD_WPC(cntnow, contdone, message)
 Application callback: optional write progress report to console or application, incl count
More...
 
#define FD_WPD(cntnow, cntdone, message)
 Alternative progessreport for development. More...
 
#define FD_DF(message)
 Debug: optional report on user functions. More...
 
#define FD_DG(message)
 Debug: optional report on generator operations. More...
 
#define FD_DC(message)
 Debug: optional report on container operations. More...
 
#define FD_DRTI(message)
 Debug: optional on function and type definition. More...
 
#define FD_DREG(message)
 Debug: optional report registry operations. More...
 
#define FD_DV(message)
 Debug: optional low-level report on iterations and token IO. More...
 
#define FAUDES_OBJCOUNT_INC(type)
 Debug: count objects, report on exit. More...
 
#define FAUDES_OBJCOUNT_DEC(type)
 
#define FAUDES_TIMER_START(msg)
 Debug: timing. More...
 
#define FAUDES_TIMER_LAP(msg)
 
#define FD_DLINE(message)
 Tutorial/debugging mark. More...
 
#define FAUDES_NODOC(a)
 Doxygen: exclude this from doxygen. More...
 

Typedefs

typedef uint32_t faudes::Idx
 Type definition for index type (allways 32bit) More...
 
typedef long int faudes::Int
 Type definition for integer type (let target system decide, minimum 32bit) More...
 
typedef double faudes::Float
 Type definition for real type. More...
 

Detailed Description

Compiletime options.

This file configures the runtime bahaviour of libFAUDES, in particular informative output on stderr and stdout; see also the Makefile.

Definition in file cfl_definitions.h.

Macro Definition Documentation

◆ FAUDES_IDX_MAX

#define FAUDES_IDX_MAX   0xFFFFFFFFU

Definition at line 44 of file cfl_definitions.h.

◆ FAUDES_INT_MAX

#define FAUDES_INT_MAX   (std::numeric_limits<Type>::max())

Definition at line 49 of file cfl_definitions.h.

◆ FAUDES_INT_MIN

#define FAUDES_INT_MIN   (std::numeric_limits<int>::min())

Definition at line 48 of file cfl_definitions.h.

◆ FAUDES_NODOC

#define FAUDES_NODOC (   a)

Doxygen: exclude this from doxygen.

Definition at line 209 of file cfl_definitions.h.

◆ FAUDES_OBJCOUNT_DEC

#define FAUDES_OBJCOUNT_DEC (   type)

Definition at line 183 of file cfl_definitions.h.

◆ FAUDES_OBJCOUNT_INC

#define FAUDES_OBJCOUNT_INC (   type)

Debug: count objects, report on exit.

Definition at line 182 of file cfl_definitions.h.

◆ FAUDES_TIMER_LAP

#define FAUDES_TIMER_LAP (   msg)
Value:
{ \
faudes_systime_t now; \
faudes_mstime_t lap; \
faudes_gettimeofday(&now); \
faudes_diffsystime(now,gPerfTimer1,&lap); \
FD_WARN("timer lap " << msg << " " << lap << "ms");}
faudes_systime_t gPerfTimer1

Definition at line 190 of file cfl_definitions.h.

◆ FAUDES_TIMER_START

#define FAUDES_TIMER_START (   msg)
Value:
{ \
FD_WARN("timer start " << msg ); \
faudes_gettimeofday(& gPerfTimer1 ); }

Debug: timing.

Definition at line 187 of file cfl_definitions.h.

◆ FAUDES_WRITE_CONSOLE

#define FAUDES_WRITE_CONSOLE (   message)
Value:
{ if(!faudes::ConsoleOut::G()->Mute()) { \
std::ostringstream cfl_line; cfl_line << message << std::endl; faudes::ConsoleOut::G()->Write(cfl_line.str());} }
static ConsoleOut * G(void)
Acess static instance.
Definition: cfl_helper.cpp:403
virtual void Write(const std::string &message, long int cntnow=0, long int cntdone=0, int verb=0)
Write a std::string message (optional progress report and verbosity)
Definition: cfl_helper.cpp:422

Debug: output macro for optional redirection of all console output.

Definition at line 79 of file cfl_definitions.h.

◆ FAUDES_WRITE_DIRECT

#define FAUDES_WRITE_DIRECT (   message)     { if(!faudes::ConsoleOut::G()->Mute()) { std::cout << message << std::endl;} }

Debug: console output, no redirection.

Definition at line 75 of file cfl_definitions.h.

◆ FD_CONSECUTIVE

#define FD_CONSECUTIVE   6

Min number of states to use consecutive section in file output.

Definition at line 64 of file cfl_definitions.h.

◆ FD_DC

#define FD_DC (   message)

Debug: optional report on container operations.

Definition at line 153 of file cfl_definitions.h.

◆ FD_DF

#define FD_DF (   message)

Debug: optional report on user functions.

Definition at line 138 of file cfl_definitions.h.

◆ FD_DG

#define FD_DG (   message)

Debug: optional report on generator operations.

Definition at line 146 of file cfl_definitions.h.

◆ FD_DLINE

#define FD_DLINE (   message)
Value:
std::endl << "################################################ " << \
std::endl << message << " at file " << __FILE__ << ", line " << __LINE__ << endl << \
std::endl << "################################################ " << std::endl );
#define FD_WARN(message)
Debug: always report warnings.

Tutorial/debugging mark.

Definition at line 199 of file cfl_definitions.h.

◆ FD_DREG

#define FD_DREG (   message)

Debug: optional report registry operations.

Definition at line 167 of file cfl_definitions.h.

◆ FD_DRTI

#define FD_DRTI (   message)

Debug: optional on function and type definition.

Definition at line 160 of file cfl_definitions.h.

◆ FD_DV

#define FD_DV (   message)

Debug: optional low-level report on iterations and token IO.

Definition at line 174 of file cfl_definitions.h.

◆ FD_ERR

#define FD_ERR (   message)

Debug: report more errors with file/line info.

Definition at line 91 of file cfl_definitions.h.

◆ FD_MAXCONTAINERNAME

#define FD_MAXCONTAINERNAME   70

Max length of automatic container names (set to -1 for unlimited)

Definition at line 58 of file cfl_definitions.h.

◆ FD_NAMELEN

#define FD_NAMELEN   13

Length of strings for text fields in token output.

Definition at line 55 of file cfl_definitions.h.

◆ FD_RTIMAXSIG

#define FD_RTIMAXSIG   5

Max number of automatic signatures.

Definition at line 67 of file cfl_definitions.h.

◆ FD_SMALLTRANSREL

#define FD_SMALLTRANSREL   100

Max size of transrel for state name output.

Definition at line 61 of file cfl_definitions.h.

◆ FD_WARN

#define FD_WARN (   message)    FAUDES_WRITE_CONSOLE("FAUDES_WARNING: " << message)

Debug: always report warnings.

Definition at line 84 of file cfl_definitions.h.

◆ FD_WP

#define FD_WP (   message)

Application callback: optional write progress report to console or application.

Definition at line 98 of file cfl_definitions.h.

◆ FD_WPC

#define FD_WPC (   cntnow,
  contdone,
  message 
)

Application callback: optional write progress report to console or application, incl count

Definition at line 107 of file cfl_definitions.h.

◆ FD_WPD

#define FD_WPD (   cntnow,
  cntdone,
  message 
)
Value:
{ \
static faudes_systime_t start; \
static faudes_systime_t now; \
static faudes_mstime_t lap; \
static Int prog; \
static bool init(false); \
if(!init) { faudes_gettimeofday(&start); prog=cntnow;} \
faudes_gettimeofday(&now); \
faudes_diffsystime(now,start,&lap); \
if(!init) lap=10000; \
if(lap>=10000) { \
Int cps = (cntnow-prog)/(lap/1000); \
std::ostringstream cfl_line; \
cfl_line << "FAUDES_PROGRESS: " << message; \
if(cntnow>0) cfl_line << " (#/sec: " << cps << ")";\
cfl_line << std::endl; \
faudes::ConsoleOut::G()->Write(cfl_line.str(),(cntnow),(cntdone)); LoopCallback(); \
faudes_gettimeofday(&start); \
prog=cntnow; \
} \
init=true; }
long int Int
Type definition for integer type (let target system decide, minimum 32bit)

Alternative progessreport for development.

Definition at line 111 of file cfl_definitions.h.

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen