SIMLIB/C++  3.07
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
internal.h File Reference

Internal header file for SIMLIB/C++. More...

#include "errors.h"
Include dependency graph for internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  simlib3::SIMLIB_module
 Class for internal registration of modules. More...
 
class  simlib3::AlgLoopDetector
 class for algebraic loop detection AlgLoopDetector object should be used in Value() method only it checks for recursion in continuous block expression evaluation
User should remove algebraic loop manualy using special block (see AlgLoop solvers) More...
 

Namespaces

 simlib3
 Implementation of class CalendarList
interface is static - using global functions in SQS namespace.
 
 simlib3::SQS
 Special namespace for calendar implementation.
 

Macros

#define DEBUG_INFO   "/debug"
 
#define Dprintf(f)
 
#define DEBUG(c, f)
 
#define DBG_ALL   ~0UL
 
#define DBG_NEW   (1UL)
 
#define DBG_CTR   (1UL<<1)
 
#define DBG_INIT   (1UL<<2)
 
#define DBG_CHG   (1UL<<3)
 
#define DBG_STEP   (1UL<<4)
 
#define DBG_CONTI   (1UL<<5)
 
#define DBG_FACSTO   (1UL<<6)
 
#define DBG_PROCESS   (1UL<<7)
 
#define DBG_QUEUE   (1UL<<8)
 
#define DBG_CALENDAR   (1UL<<9)
 
#define DBG_SIMULATOR   (1UL<<10)
 
#define DBG_BEXPR   (1UL<<11)
 
#define DBG_WU   (1UL<<12)
 
#define DBG_NUMINT   (1UL<<13)
 
#define DBG_THREAD   (1UL<<14)
 
#define DBG_MODULE   (1UL<<15)
 
#define DBG_ATEXIT   (1UL<<16)
 
#define SIMLIB_IMPLEMENTATION
 internal module identification More...
 
#define SIMLIB_internal_error()   SIMLIB_error(__FILE__, __LINE__)
 
#define _SetTime(t, x)   (SIMLIB_##t = x)
 macro for simple assignement to internal time variables More...
 
#define HOOK_PTR_NAME(id)   SIMLIB_Hook_Ptr_##id
 
#define HOOK_INST_NAME(id)   SIMLIB_Install_hook_##id
 
#define INSTALL_HOOK(name, function)
 
#define DEFINE_HOOK(name)
 
#define CALL_HOOK(name)   if( HOOK_PTR_NAME(name) ) HOOK_PTR_NAME(name) ()
 

Typedefs

typedef void(* simlib3::SIMLIB_atexit_function_t) ()
 
typedef void(* simlib3::VoidFunctionPtr) ()
 

Enumerations

enum  simlib3::SIMLIB_Phase_t {
  simlib3::START, simlib3::INITIALIZATION, simlib3::SIMULATION, simlib3::TERMINATION,
  simlib3::ERROREXIT
}
 values indicate current phase of experiment More...
 
enum  simlib3::_ErrEnum {
  simlib3::Copyright, simlib3::UnknownError, simlib3::InternalError, simlib3::MemoryError,
  simlib3::InitError, simlib3::TwiceInitError, simlib3::InitInRunError, simlib3::RunUseError,
  simlib3::SetStepError, simlib3::InitMinStepError, simlib3::SetStepError2, simlib3::SetAccuracyError,
  simlib3::SFunctionUseError, simlib3::AccuracyError, simlib3::LinkRefError, simlib3::LinkDelError,
  simlib3::LinkOutError, simlib3::DuplicateCalendar, simlib3::DeletingActive, simlib3::SchedulingBeforeTime,
  simlib3::EmptyCalendar, simlib3::ProcessNotInitialized, simlib3::HistoStepError, simlib3::HistoCountError,
  simlib3::ListActivityError, simlib3::ListEmptyError, simlib3::QueueRefError, simlib3::EmptyWUListError,
  simlib3::EntityRefError, simlib3::EntityIsNotScheduled, simlib3::TStatNotInitialized, simlib3::CantCreateIntg,
  simlib3::CantDestroyIntg, simlib3::CantCreateStatus, simlib3::CantDestroyStatus, simlib3::FacInterruptError,
  simlib3::ReleaseError, simlib3::ReleaseNotSeized, simlib3::EnterCapError, simlib3::LeaveManyError,
  simlib3::SetCapacityError, simlib3::SetQueueError, simlib3::WeibullError, simlib3::ErlangError,
  simlib3::NegBinError, simlib3::NegBinMError1, simlib3::NegBinMError2, simlib3::PoissonError,
  simlib3::GeomError, simlib3::HyperGeomError1, simlib3::HyperGeomError2, simlib3::OutFilePutError,
  simlib3::OutFileOpenError, simlib3::CantOpenOutFile, simlib3::CantCloseOutFile, simlib3::AlgLoopDetected,
  simlib3::LowGreaterHigh, simlib3::BadQntzrStep, simlib3::InconsistentHeader, simlib3::SemaphoreError,
  simlib3::BadUniformParam, simlib3::StatNoRecError, simlib3::StatDispError, simlib3::AL_BadBounds,
  simlib3::AL_BadInitVal, simlib3::AL_Diverg, simlib3::AL_MaxCount, simlib3::AL_NotInLoop,
  simlib3::NI_UnknownMeth, simlib3::NI_MultDefMeth, simlib3::NI_IlStepSize, simlib3::NI_NotSingleStep,
  simlib3::NI_NotMultiStep, simlib3::NI_CantSetMethod, simlib3::NI_CantSetStarter, simlib3::RlineErr1,
  simlib3::RlineErr2, simlib3::NoDebugErr, simlib3::DelayTimeErr, simlib3::ParameterChangeErr,
  simlib3::UserError, simlib3::Copyright, simlib3::UnknownError, simlib3::InternalError,
  simlib3::MemoryError, simlib3::InitError, simlib3::TwiceInitError, simlib3::InitInRunError,
  simlib3::RunUseError, simlib3::SetStepError, simlib3::InitMinStepError, simlib3::SetStepError2,
  simlib3::SetAccuracyError, simlib3::SFunctionUseError, simlib3::AccuracyError, simlib3::LinkRefError,
  simlib3::LinkDelError, simlib3::LinkOutError, simlib3::DuplicateCalendar, simlib3::DeletingActive,
  simlib3::SchedulingBeforeTime, simlib3::EmptyCalendar, simlib3::ProcessNotInitialized, simlib3::HistoStepError,
  simlib3::HistoCountError, simlib3::ListActivityError, simlib3::ListEmptyError, simlib3::QueueRefError,
  simlib3::EmptyWUListError, simlib3::EntityRefError, simlib3::EntityIsNotScheduled, simlib3::TStatNotInitialized,
  simlib3::CantCreateIntg, simlib3::CantDestroyIntg, simlib3::CantCreateStatus, simlib3::CantDestroyStatus,
  simlib3::FacInterruptError, simlib3::ReleaseError, simlib3::ReleaseNotSeized, simlib3::EnterCapError,
  simlib3::LeaveManyError, simlib3::SetCapacityError, simlib3::SetQueueError, simlib3::WeibullError,
  simlib3::ErlangError, simlib3::NegBinError, simlib3::NegBinMError1, simlib3::NegBinMError2,
  simlib3::PoissonError, simlib3::GeomError, simlib3::HyperGeomError1, simlib3::HyperGeomError2,
  simlib3::OutFilePutError, simlib3::OutFileOpenError, simlib3::CantOpenOutFile, simlib3::CantCloseOutFile,
  simlib3::AlgLoopDetected, simlib3::LowGreaterHigh, simlib3::BadQntzrStep, simlib3::InconsistentHeader,
  simlib3::SemaphoreError, simlib3::BadUniformParam, simlib3::StatNoRecError, simlib3::StatDispError,
  simlib3::AL_BadBounds, simlib3::AL_BadInitVal, simlib3::AL_Diverg, simlib3::AL_MaxCount,
  simlib3::AL_NotInLoop, simlib3::NI_UnknownMeth, simlib3::NI_MultDefMeth, simlib3::NI_IlStepSize,
  simlib3::NI_NotSingleStep, simlib3::NI_NotMultiStep, simlib3::NI_CantSetMethod, simlib3::NI_CantSetStarter,
  simlib3::RlineErr1, simlib3::RlineErr2, simlib3::NoDebugErr, simlib3::DelayTimeErr,
  simlib3::ParameterChangeErr, simlib3::UserError
}
 

Functions

void simlib3::SIMLIB_atexit (SIMLIB_atexit_function_t p)
 
const char * simlib3::_ErrMsg (enum _ErrEnum N)
 
void simlib3::SIMLIB_error (const enum _ErrEnum N)
 print error message and abort program More...
 
void simlib3::SIMLIB_error (const char *fmt,...)
 print error message and abort program More...
 
void simlib3::SIMLIB_error (const char *filename, const int linenum)
 print error message and abort program More...
 
void simlib3::SIMLIB_warning (const enum _ErrEnum N)
 print warning message and continue More...
 
void simlib3::SIMLIB_warning (const char *fmt,...)
 print warning message and continue More...
 
void simlib3::SQS::ScheduleAt (Entity *e, double t)
 schedule entity e at given time t using scheduling priority from e More...
 
Entitysimlib3::SQS::GetFirst ()
 remove entity with minimum activation time More...
 
void simlib3::SQS::Get (Entity *e)
 remove selected entity activation record from calendar More...
 
bool simlib3::SQS::Empty ()
 empty calendar predicate More...
 
void simlib3::SQS::Clear ()
 remove all scheduled entities More...
 
int simlib3::SQS::debug_print ()
 
void simlib3::SIMLIB_Dynamic ()
 performs evaluation of integrators and status blocks More...
 
void simlib3::SIMLIB_DoActions ()
 
void simlib3::SIMLIB_ContinueInit ()
 
void simlib3::SIMLIB_DoConditions ()
 
void simlib3::SIMLIB_WUClear ()
 
double simlib3::min (double a, double b)
 
double simlib3::max (double a, double b)
 
std::string simlib3::SIMLIB_create_tmp_name (const char *fmt,...)
 printf-like function to create temporary name (the length of temporary names is limited)
used only for printing More...
 

Variables

static SIMLIB_module simlib3::SIMLIB_module_id
 Create single global registration object in each SIMLIB module. More...
 
const SIMLIB_Phase_tsimlib3::Phase = SIMLIB_Phase
 This variable contains the current phase of experiment (used for internal checking) More...
 
double simlib3::SIMLIB_Time
 
bool simlib3::SIMLIB_DynamicFlag = false
 in dynamic section More...
 
bool simlib3::SIMLIB_ResetStatus = false
 flag set if there is a need for integration method restart More...
 
SIMLIB_Phase_t simlib3::SIMLIB_Phase = START
 
Entitysimlib3::SIMLIB_Current = NULL
 
int simlib3::SIMLIB_ERRNO =0
 
bool simlib3::SIMLIB_ContractStepFlag = false
 requests shorter step More...
 
double simlib3::SIMLIB_ContractStep = SIMLIB_MAXTIME
 requested step size More...
 
double simlib3::SIMLIB_StepStartTime
 last step time More...
 
double simlib3::SIMLIB_DeltaTime
 Time-SIMLIB_StepStartTime. More...
 
double simlib3::SIMLIB_OptStep
 optimal step More...
 
double simlib3::SIMLIB_MinStep =1e-10
 minimal step More...
 
double simlib3::SIMLIB_MaxStep =1
 max. step More...
 
double simlib3::SIMLIB_StepSize
 actual step More...
 
double simlib3::SIMLIB_AbsoluteError =0
 absolute error More...
 
double simlib3::SIMLIB_RelativeError =0.001
 relative error More...
 
double simlib3::SIMLIB_StartTime
 
double simlib3::SIMLIB_NextTime
 
double simlib3::SIMLIB_EndTime
 

Detailed Description

Internal header file for SIMLIB/C++.

Definition in file internal.h.

Macro Definition Documentation

◆ _SetTime

#define _SetTime (   t,
 
)    (SIMLIB_##t = x)

◆ CALL_HOOK

#define CALL_HOOK (   name)    if( HOOK_PTR_NAME(name) ) HOOK_PTR_NAME(name) ()

◆ DBG_ALL

#define DBG_ALL   ~0UL

Definition at line 111 of file internal.h.

◆ DBG_ATEXIT

#define DBG_ATEXIT   (1UL<<16)

Definition at line 128 of file internal.h.

Referenced by simlib3::SIMLIB_atexit(), and simlib3::SIMLIB_atexit_call().

◆ DBG_BEXPR

#define DBG_BEXPR   (1UL<<11)

Definition at line 123 of file internal.h.

◆ DBG_CALENDAR

#define DBG_CALENDAR   (1UL<<9)

Definition at line 121 of file internal.h.

◆ DBG_CHG

#define DBG_CHG   (1UL<<3)

Definition at line 115 of file internal.h.

◆ DBG_CONTI

#define DBG_CONTI   (1UL<<5)

Definition at line 117 of file internal.h.

◆ DBG_CTR

#define DBG_CTR   (1UL<<1)

Definition at line 113 of file internal.h.

◆ DBG_FACSTO

#define DBG_FACSTO   (1UL<<6)

Definition at line 118 of file internal.h.

◆ DBG_INIT

#define DBG_INIT   (1UL<<2)

Definition at line 114 of file internal.h.

◆ DBG_MODULE

#define DBG_MODULE   (1UL<<15)

◆ DBG_NEW

#define DBG_NEW   (1UL)

Definition at line 112 of file internal.h.

◆ DBG_NUMINT

#define DBG_NUMINT   (1UL<<13)

Definition at line 125 of file internal.h.

◆ DBG_PROCESS

#define DBG_PROCESS   (1UL<<7)

Definition at line 119 of file internal.h.

◆ DBG_QUEUE

#define DBG_QUEUE   (1UL<<8)

Definition at line 120 of file internal.h.

◆ DBG_SIMULATOR

#define DBG_SIMULATOR   (1UL<<10)

Definition at line 122 of file internal.h.

◆ DBG_STEP

#define DBG_STEP   (1UL<<4)

Definition at line 116 of file internal.h.

◆ DBG_THREAD

#define DBG_THREAD   (1UL<<14)

Definition at line 126 of file internal.h.

Referenced by simlib3::Process::_Run().

◆ DBG_WU

#define DBG_WU   (1UL<<12)

Definition at line 124 of file internal.h.

◆ DEBUG

#define DEBUG (   c,
 
)
Value:
do{ if( SIMLIB_debug_flag & (c) ) \
{ _Print("DEBUG: T=%-10g ", SIMLIB_Time); \
_Print f; _Print("\n"); \
} }while(0)
int _Print(const char *fmt,...)
output of messages to stdout, too
Definition: print.cc:68
unsigned long SIMLIB_debug_flag
Definition: debug.cc:32
double SIMLIB_Time
Definition: internal.h:209

Definition at line 105 of file internal.h.

Referenced by simlib3::Process::_Run(), simlib3::SIMLIB_atexit(), simlib3::SIMLIB_atexit_call(), simlib3::SIMLIB_module::SIMLIB_module(), and simlib3::SIMLIB_module::~SIMLIB_module().

◆ DEBUG_INFO

#define DEBUG_INFO   "/debug"

Definition at line 98 of file internal.h.

◆ DEFINE_HOOK

#define DEFINE_HOOK (   name)
Value:
static void (* HOOK_PTR_NAME(name) )() = 0; \
void HOOK_INST_NAME(name)(void (*f)()) { HOOK_PTR_NAME(name) = f; }
#define HOOK_INST_NAME(id)
Definition: internal.h:247
#define HOOK_PTR_NAME(id)
Definition: internal.h:246

Definition at line 267 of file internal.h.

◆ Dprintf

#define Dprintf (   f)
Value:
do { if( SIMLIB_debug_flag ) \
{ _Print("DEBUG: T=%-10g ", SIMLIB_Time); \
_Print f; _Print("\n"); \
} }while(0)
int _Print(const char *fmt,...)
output of messages to stdout, too
Definition: print.cc:68
unsigned long SIMLIB_debug_flag
Definition: debug.cc:32
double SIMLIB_Time
Definition: internal.h:209

Definition at line 100 of file internal.h.

Referenced by simlib3::_Add::_Add(), simlib3::_Add2D::_Add2D(), simlib3::_Add3D::_Add3D(), simlib3::_Div::_Div(), simlib3::_Div2D::_Div2D(), simlib3::_Div3D::_Div3D(), simlib3::_Mul::_Mul(), simlib3::_Mul2D1D::_Mul2D1D(), simlib3::_Mul3D::_Mul3D(), simlib3::_Mul3D1D::_Mul3D1D(), simlib3::Process::_Run(), simlib3::_Sub::_Sub(), simlib3::_Sub2D::_Sub2D(), simlib3::_Sub3D::_Sub3D(), simlib3::_UMinus::_UMinus(), simlib3::_UMinus2D::_UMinus2D(), simlib3::_UMinus3D::_UMinus3D(), simlib3::Process::_WaitUntil(), simlib3::Abort(), simlib3::aContiBlock2D::aContiBlock2D(), simlib3::aContiBlock3D::aContiBlock3D(), simlib3::Process::Activate(), simlib3::Event::Activate(), simlib3::Barrier::Barrier(), simlib3::Sampler::Behavior(), simlib3::Blash::Blash(), simlib3::CalendarList::CalendarList(), simlib3::CalendarQueue::CalendarQueue(), simlib3::Barrier::ChangeHeight(), simlib3::CalendarList::clear(), simlib3::CalendarQueue::clear(), simlib3::TStat::Clear(), simlib3::Queue::clear(), simlib3::Histogram::Clear(), simlib3::Facility::Clear(), simlib3::Store::Clear(), simlib3::Semaphore::Clear(), simlib3::Barrier::Clear(), simlib3::StatusContainer::ClearAllValueOK(), simlib3::CalendarList::create(), simlib3::CalendarQueue::create(), simlib3::Status::CtrInit(), simlib3::Delay::Delay(), simlib3::Calendar::delete_instance(), simlib3::Store::Enter(), simlib3::Barrier::Enter(), simlib3::Entity::Entity(), simlib3::IntegratorContainer::Erase(), simlib3::StatusContainer::Erase(), simlib3::CalendarQueue::estimate_bucket_width(), simlib3::IntegratorContainer::EvaluateAll(), simlib3::StatusContainer::EvaluateAll(), simlib3::Event::Event(), simlib3::Facility::Facility(), simlib3::Frict::Frict(), simlib3::Function1::Function1(), simlib3::Function2::Function2(), simlib3::Queue::Get(), simlib3::WaitUntilList::GetCurrent(), simlib3::Queue::GetFirst(), simlib3::Queue::GetLast(), simlib3::MultiStepMethod::GetStarter(), simlib3::Histogram::Histogram(), simlib3::Hyst::Hyst(), simlib3::ZDelay::Init(), simlib3::Histogram::Init(), simlib3::Barrier::Init(), simlib3::IntegratorContainer::InitAll(), simlib3::StatusContainer::InitAll(), simlib3::Queue::Insert(), simlib3::IntegratorContainer::Insert(), simlib3::StatusContainer::Insert(), simlib3::WaitUntilList::InsertCurrent(), simlib3::Queue::InsFirst(), simlib3::Queue::InsLast(), simlib3::IntegratorContainer::Instance(), simlib3::StatusContainer::Instance(), simlib3::Insv::Insv(), simlib3::RKF3::Integrate(), simlib3::RKF5::Integrate(), simlib3::EULER::Integrate(), simlib3::RKF8::Integrate(), simlib3::RKE::Integrate(), simlib3::FW::Integrate(), simlib3::ABM4::Integrate(), simlib3::IntegrationMethod::IntegrationMethod(), simlib3::Integrator::Integrator(), simlib3::Process::Interrupt(), simlib3::IntegrationMethod::Iterate(), simlib3::Store::Leave(), simlib3::Lim::Lim(), simlib3::List::List(), simlib3::IntegratorContainer::LtoN(), simlib3::StatusContainer::LtoN(), simlib3::MultiStepMethod::MultiStepMethod(), simlib3::IntegratorContainer::NtoL(), simlib3::StatusContainer::NtoL(), simlib3::Semaphore::P(), simlib3::Process::Passivate(), simlib3::Queue::PostIns(), simlib3::Queue::PredIns(), simlib3::IntegrationMethod::Prepare(), simlib3::FW::PrepareStep(), simlib3::ABM4::PrepareStep(), simlib3::IntegrationMethod::PrepareStep(), simlib3::MultiStepMethod::PrepareStep(), simlib3::StatusMethod::PrepareStep(), simlib3::Process::Process(), simlib3::Qntzr::Qntzr(), simlib3::Queue::Queue(), simlib3::Facility::QueueIn(), simlib3::Store::QueueIn(), simlib3::Facility::QueueIn2(), simlib3::Relay::Relay(), simlib3::Facility::Release(), simlib3::WaitUntilList::Remove(), simlib3::CalendarQueue::Resize(), simlib3::IntegrationMethod::Memory::Resize(), simlib3::IntegrationMethod::Resize(), simlib3::Rline::Rline(), simlib3::Run(), simlib3::Delay::Sample(), simlib3::ZDelay::SampleIn(), simlib3::ZDelay::SampleOut(), simlib3::Sampler::Sampler(), simlib3::CalendarQueue::ScheduleAt(), simlib3::IntegrationMethod::SearchMethod(), simlib3::Facility::Seize(), simlib3::Semaphore::Semaphore(), simlib3::SetAccuracy(), simlib3::IntegrationMethod::SetMethod(), simlib3::MultiStepMethod::SetStarter(), simlib3::SetStep(), simlib3::SIMLIB_Init(), simlib3::Stat::Stat(), simlib3::IntegrationMethod::StateCond(), simlib3::StatusMethod::StatusMethod(), simlib3::StatusMethod::StatusResize(), simlib3::IntegrationMethod::StepSim(), simlib3::Stop(), simlib3::Store::Store(), simlib3::IntegrationMethod::Summarize(), simlib3::Entity::Terminate(), simlib3::Process::Terminate(), simlib3::Event::Terminate(), simlib3::TStat::TStat(), simlib3::IntegrationMethod::TurnOff(), simlib3::MultiStepMethod::TurnOff(), simlib3::StatusMethod::TurnOff(), simlib3::Semaphore::V(), simlib3::Delay::Value(), simlib3::ZDelay::Value(), simlib3::Process::Wait(), simlib3::Barrier::Wait(), simlib3::WaitUntilList::WaitUntilList(), simlib3::WaitUntilList::WU_hook(), simlib3::ZDelay::ZDelay(), simlib3::_Add::~_Add(), simlib3::_Div::~_Div(), simlib3::_Mul::~_Mul(), simlib3::_Sub::~_Sub(), simlib3::_UMinus::~_UMinus(), simlib3::aContiBlock2D::~aContiBlock2D(), simlib3::aContiBlock3D::~aContiBlock3D(), simlib3::Barrier::~Barrier(), simlib3::CalendarList::~CalendarList(), simlib3::CalendarQueue::~CalendarQueue(), simlib3::Delay::~Delay(), simlib3::Entity::~Entity(), simlib3::Event::~Event(), simlib3::Facility::~Facility(), simlib3::Histogram::~Histogram(), simlib3::IntegrationMethod::~IntegrationMethod(), simlib3::Integrator::~Integrator(), simlib3::List::~List(), simlib3::MultiStepMethod::~MultiStepMethod(), simlib3::Process::~Process(), simlib3::Queue::~Queue(), simlib3::Rline::~Rline(), simlib3::Sampler::~Sampler(), simlib3::Semaphore::~Semaphore(), simlib3::Stat::~Stat(), simlib3::Status::~Status(), simlib3::Store::~Store(), simlib3::TStat::~TStat(), simlib3::WaitUntilList::~WaitUntilList(), and simlib3::ZDelay::~ZDelay().

◆ HOOK_INST_NAME

#define HOOK_INST_NAME (   id)    SIMLIB_Install_hook_##id

Definition at line 247 of file internal.h.

◆ HOOK_PTR_NAME

#define HOOK_PTR_NAME (   id)    SIMLIB_Hook_Ptr_##id

Definition at line 246 of file internal.h.

◆ INSTALL_HOOK

#define INSTALL_HOOK (   name,
  function 
)

◆ SIMLIB_IMPLEMENTATION

#define SIMLIB_IMPLEMENTATION
Value:
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \
static int SIMLIB_module_num = \
SIMLIB_module_id.Init( \
"(" __FILE__ \
", SIMLIB-" SIMLIB_VERSION DEBUG_INFO \
", " SIMLIB_SYSTEM \
"/" SIMLIB_COMPILER \
", " __DATE__ " " __TIME__ \
")" \
); \
_Pragma("GCC diagnostic pop")
#define DEBUG_INFO
Definition: internal.h:98
#define SIMLIB_VERSION
Definition: simlib.h:9

internal module identification

Definition at line 135 of file internal.h.

◆ SIMLIB_internal_error

#define SIMLIB_internal_error ( )    SIMLIB_error(__FILE__, __LINE__)