cfl_definitions.h File Reference
#include <iostream>
#include <sstream>
#include <inttypes.h>
#include "configuration.h"

Go to the source code of this file.

Namespaces

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
 
#define FD_MAXCONTAINERNAME   70
 
#define FD_SMALLTRANSREL   100
 
#define FD_CONSECUTIVE   6
 
#define FD_RTIMAXSIG   5
 
#define FAUDES_WRITE_DIRECT(message)    { if(faudes::ConsoleOut::G()->Verb()>0) { std::cout << message << std::endl;} }
 
#define FAUDES_WRITE_CONSOLE(message)
 
#define FD_WARN(message)   FAUDES_WRITE_CONSOLE("FAUDES_WARNING: " << message)
 
#define FD_ERR(message)
 
#define FD_WP(message)
 
#define FD_WPC(cntnow, contdone, message)
 
#define FD_WPD(cntnow, cntdone, message)
 
#define FD_DF(message)
 
#define FD_DG(message)
 
#define FD_DC(message)
 
#define FD_DRTI(message)
 
#define FD_DREG(message)
 
#define FD_DV(message)
 
#define FAUDES_OBJCOUNT_INC(type)
 
#define FAUDES_OBJCOUNT_DEC(type)
 
#define FAUDES_TIMER_START(msg)
 
#define FAUDES_TIMER_LAP(msg)
 
#define FD_DLINE(message)
 
#define FAUDES_NODOC(a)   a
 

Typedefs

typedef uint32_t faudes::Idx
 
typedef long int faudes::Int
 
typedef double faudes::Float
 

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)    a

Doxygen: exclude this from doxygen

Definition at line 212 of file cfl_definitions.h.

◆ FAUDES_OBJCOUNT_DEC

#define FAUDES_OBJCOUNT_DEC ( type)

Definition at line 188 of file cfl_definitions.h.

◆ FAUDES_OBJCOUNT_INC

#define FAUDES_OBJCOUNT_INC ( type)

Debug: count objects, report on exit

Definition at line 187 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 195 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 192 of file cfl_definitions.h.

◆ FAUDES_WRITE_CONSOLE

#define FAUDES_WRITE_CONSOLE ( message)
Value:
{ if(faudes::ConsoleOut::G()->Verb()>0) { \
std::ostringstream cfl_line; cfl_line << message << std::endl; \
faudes::ConsoleOut::G()->Write(cfl_line.str()); } }
static ConsoleOut * G(void)

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()->Verb()>0) { 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 158 of file cfl_definitions.h.

◆ FD_DF

#define FD_DF ( message)

Debug: optional report on user functions

Definition at line 143 of file cfl_definitions.h.

◆ FD_DG

#define FD_DG ( message)

Debug: optional report on generator operations

Definition at line 151 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)

Tutorial/debugging mark

Definition at line 204 of file cfl_definitions.h.

◆ FD_DREG

#define FD_DREG ( message)

Debug: optional report registry operations

Definition at line 172 of file cfl_definitions.h.

◆ FD_DRTI

#define FD_DRTI ( message)

Debug: optional on function and type definition

Definition at line 165 of file cfl_definitions.h.

◆ FD_DV

#define FD_DV ( message)

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

Definition at line 179 of file cfl_definitions.h.

◆ FD_ERR

#define FD_ERR ( message)

Debug: report more errors with file/line info

Definition at line 92 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 85 of file cfl_definitions.h.

◆ FD_WP

#define FD_WP ( message)

Application callback: optional write progress report to console or application

Definition at line 99 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 108 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; }

Alternative progessreport for development

Definition at line 113 of file cfl_definitions.h.

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen