134 virtual void Eval()
override {}
138 Dprintf((
"ctr: _Add[%p](in1,in2)",
this));
141 Dprintf((
"dtr: _Add[%p]",
this));
145 virtual const char *
Name()
const {
156 virtual void Eval()
override {}
160 Dprintf((
"ctr: _Sub[%p](in1,in2)",
this));
163 Dprintf((
"dtr: _Sub[%p]",
this));
167 virtual const char *
Name()
const {
178 virtual void Eval()
override {}
182 Dprintf((
"ctr: _Mul[%p](in1,in2)",
this));
185 Dprintf((
"dtr: _Mul[%p]",
this));
189 virtual const char *
Name()
const {
200 virtual void Eval()
override {}
204 Dprintf((
"ctr: _Div[%p](in1,in2)",
this));
207 Dprintf((
"dtr: _Div[%p]",
this));
211 virtual const char *
Name()
const {
238 virtual void Eval()
override {}
242 Dprintf((
"ctr: _UMinus[%p](in)",
this));
245 Dprintf((
"dtr: _UMinus[%p]",
this));
247 virtual double Value()
override {
return -InputValue(); }
249 virtual const char *
Name()
const {
270 virtual std::string
Name()
const override {
return "T(Time)"; }
virtual void Eval() override
evaluate without loop detection
base for continuous blocks with two inputs
Input Sqr(Input x)
square function
double Value() override
Evaluate expression and return the value.
Input operator/(Input a, Input b)
block operator /
void SIMLIB_error(const enum _ErrEnum N)
print error message and abort program
static void EvaluateAll()
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
block wrapper for simulation time
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
virtual void _Eval()
evaluate block (with loop detection)
void SIMLIB_Dynamic()
performs evaluation of integrators and status blocks
virtual void Eval() override
evaluate without loop detection
block to subtract two inputs
aContiBlock & T
simulation time block reference
aContiBlock3(Input i1, Input i2, Input i3)
ctr for blocks with 3 inputs
aContiBlock1(Input i)
constructor for blocks with single input
Input operator+(Input a, Input b)
block operator +
Implementation of class CalendarList interface is static - using global functions in SQS namespace...
class for algebraic loop detection AlgLoopDetector object should be used in Value() method only it ch...
virtual std::string Name() const override
get object name
std::string SIMLIB_create_tmp_name(const char *fmt,...)
printf-like function to create temporary name (the length of temporary names is limited) used only ...
const double & Time
model time (is NOT the block)
static void ClearAllValueOK()
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
aContiBlock2(Input i1, Input i2)
ctr for blocks with 2 inputs
virtual void _Eval() override
evaluate block (with loop detection)
Input operator*(Input a, Input b)
block operator *
virtual void Eval()
evaluate without loop detection
abstract base for continuous blocks with single output suitable for expression-tree building and eval...
Internal header file for SIMLIB/C++.
virtual void Eval() override
evaluate without loop detection
virtual void _Eval() override
evaluate block (with loop detection)
virtual void Eval() override
evaluate without loop detection
Main SIMLIB/C++ interface.
virtual std::string Name() const
get object name
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
Input operator-(Input a, Input b)
block operator -
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
virtual void _Eval() override
evaluate block (with loop detection)
base for continuous blocks with single input and algebraic loop check
virtual void _Eval() override
evaluate block (with loop detection)
static class _Time _T
block – simulation time
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock ...
virtual void _Eval() override
evaluate block (with loop detection)
virtual void Eval() override
evaluate without loop detection
static void EvaluateAll()