52 |
return const_cast<VMIntExpr*>( dynamic_cast<const VMIntExpr*>(this) ); |
return const_cast<VMIntExpr*>( dynamic_cast<const VMIntExpr*>(this) ); |
53 |
} |
} |
54 |
|
|
55 |
|
VMRealExpr* VMExpr::asReal() const { |
56 |
|
return const_cast<VMRealExpr*>( dynamic_cast<const VMRealExpr*>(this) ); |
57 |
|
} |
58 |
|
|
59 |
|
VMScalarNumberExpr* VMExpr::asScalarNumberExpr() const { |
60 |
|
return const_cast<VMScalarNumberExpr*>( |
61 |
|
dynamic_cast<const VMScalarNumberExpr*>(this) |
62 |
|
); |
63 |
|
} |
64 |
|
|
65 |
VMStringExpr* VMExpr::asString() const { |
VMStringExpr* VMExpr::asString() const { |
66 |
return const_cast<VMStringExpr*>( dynamic_cast<const VMStringExpr*>(this) ); |
return const_cast<VMStringExpr*>( dynamic_cast<const VMStringExpr*>(this) ); |
67 |
} |
} |
70 |
return const_cast<VMIntArrayExpr*>( dynamic_cast<const VMIntArrayExpr*>(this) ); |
return const_cast<VMIntArrayExpr*>( dynamic_cast<const VMIntArrayExpr*>(this) ); |
71 |
} |
} |
72 |
|
|
73 |
|
VMRealArrayExpr* VMExpr::asRealArray() const { |
74 |
|
return const_cast<VMRealArrayExpr*>( |
75 |
|
dynamic_cast<const VMRealArrayExpr*>(this) |
76 |
|
); |
77 |
|
} |
78 |
|
|
79 |
bool VMExpr::isModifyable() const { |
bool VMExpr::isModifyable() const { |
80 |
const VMVariable* var = dynamic_cast<const VMVariable*>(this); |
const VMVariable* var = dynamic_cast<const VMVariable*>(this); |
81 |
return (!var) ? false : var->isAssignable(); |
return (!var) ? false : var->isAssignable(); |
116 |
( _unitFactor(prefix1) * _unitFactor(prefix2) ); |
( _unitFactor(prefix1) * _unitFactor(prefix2) ); |
117 |
return (vmint) f * factor; |
return (vmint) f * factor; |
118 |
} |
} |
119 |
|
|
120 |
|
/////////////////////////////////////////////////////////////////////// |
121 |
|
// class 'VMRealExpr' |
122 |
|
|
123 |
|
vmfloat VMRealExpr::evalReal(MetricPrefix_t prefix) { |
124 |
|
vmfloat f = evalReal(); |
125 |
|
vmfloat factor = unitFactor() / _unitFactor(prefix); |
126 |
|
return f * factor; |
127 |
|
} |
128 |
|
|
129 |
|
vmfloat VMRealExpr::evalReal(MetricPrefix_t prefix1, MetricPrefix_t prefix2) { |
130 |
|
vmfloat f = evalReal(); |
131 |
|
vmfloat factor = unitFactor() / |
132 |
|
( _unitFactor(prefix1) * _unitFactor(prefix2) ); |
133 |
|
return f * factor; |
134 |
|
} |
135 |
|
|
136 |
/////////////////////////////////////////////////////////////////////// |
/////////////////////////////////////////////////////////////////////// |
137 |
// class 'VMSourceToken' |
// class 'VMSourceToken' |
138 |
|
|
229 |
return (m_token) ? m_token->isIntegerVariable() : false; |
return (m_token) ? m_token->isIntegerVariable() : false; |
230 |
} |
} |
231 |
|
|
232 |
|
bool VMSourceToken::isRealVariable() const { |
233 |
|
return (m_token) ? m_token->isRealVariable() : false; |
234 |
|
} |
235 |
|
|
236 |
bool VMSourceToken::isStringVariable() const { |
bool VMSourceToken::isStringVariable() const { |
237 |
return (m_token) ? m_token->isStringVariable() : false; |
return (m_token) ? m_token->isStringVariable() : false; |
238 |
} |
} |
239 |
|
|
240 |
bool VMSourceToken::isArrayVariable() const { |
bool VMSourceToken::isIntArrayVariable() const { |
241 |
return (m_token) ? m_token->isArrayVariable() : false; |
return (m_token) ? m_token->isIntegerArrayVariable() : false; |
242 |
|
} |
243 |
|
|
244 |
|
bool VMSourceToken::isRealArrayVariable() const { |
245 |
|
return (m_token) ? m_token->isRealArrayVariable() : false; |
246 |
|
} |
247 |
|
|
248 |
|
bool VMSourceToken::isArrayVariable() const { // deprecated API: will be removed ! |
249 |
|
return isIntArrayVariable(); |
250 |
} |
} |
251 |
|
|
252 |
bool VMSourceToken::isEventHandlerName() const { |
bool VMSourceToken::isEventHandlerName() const { |