89 : input1(i1), input2(i2), input3(i3)
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));
249 virtual const char *
Name()
const {
270 virtual std::string
Name()
const override {
return "T(Time)"; }
class for algebraic loop detection AlgLoopDetector object should be used in Value() method only it ch...
static void EvaluateAll()
virtual std::string Name() const
get object name
static void EvaluateAll()
static void ClearAllValueOK()
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock
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
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
virtual void _Eval() override
evaluate block (with loop detection)
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock
block to subtract two inputs
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock
virtual void Eval() override
evaluate without loop detection
virtual void _Eval() override
evaluate block (with loop detection)
block wrapper for simulation time
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock
virtual std::string Name() const override
get object name
virtual void Eval() override
evaluate without loop detection
virtual void _Eval() override
evaluate block (with loop detection)
virtual double Value() override
get block output value this method should be defined in classes derived from aContiBlock
base for continuous blocks with single input and algebraic loop check
aContiBlock1(Input i)
constructor for blocks with single input
base for continuous blocks with two inputs
aContiBlock2(Input i1, Input i2)
ctr for blocks with 2 inputs
aContiBlock3(Input i1, Input i2, Input i3)
ctr for blocks with 3 inputs
abstract base for continuous blocks with single output suitable for expression-tree building and eval...
virtual void Eval()
evaluate without loop detection
virtual void _Eval()
evaluate block (with loop detection)
Internal header file for SIMLIB/C++.
Implementation of class CalendarList interface is static - using global functions in SQS namespace.
const double & Time
model time (is NOT the block)
static class _Time _T
block – simulation time
Input operator-(Input a, Input b)
block operator -
aContiBlock & T
simulation time block reference
void SIMLIB_error(const enum _ErrEnum N)
print error message and abort program
Input operator+(Input a, Input b)
block operator +
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 ...
Input operator*(Input a, Input b)
block operator *
void SIMLIB_Dynamic()
performs evaluation of integrators and status blocks
Input Sqr(Input x)
square function
Input operator/(Input a, Input b)
block operator /
Main SIMLIB/C++ interface.
double Value() override
Evaluate expression and return the value.