35extern int ReadInt(
char*&
text,
bool aSkipSeparator =
true );
36extern double ReadDouble(
char*&
text,
bool aSkipSeparator =
true );
59 bool is_immediate =
true;
84 double curr_value = 0.0;
102 ops.emplace_back( op_code );
114 wxFAIL_MSG( wxT(
"AM_PARAM::GetValue(): NULL param aApertureMacro" ) );
117 ops.emplace_back( curr_value );
122 ops.emplace_back( curr_value );
126 wxFAIL_MSG( wxString::Format( wxT(
"AM_PARAM::GetValue(): unexpected prm type %d" ),
201 ivalue =
ReadInt( aText,
false );
double Evaluate(AM_PARAM_EVAL_STACK &aExp)
Evaluate an basic arithmetic expression (infix notation) with precedence The expression is a sequence...
int ReadInt(char *&text, bool aSkipSeparator=true)
Read an integer from an ASCII character buffer.
double ReadDouble(char *&text, bool aSkipSeparator=true)
Read a double precision floating point number from an ASCII character buffer.
std::vector< AM_PARAM_EVAL > AM_PARAM_EVAL_STACK
Hold an operand for an AM_PARAM as defined within standard RS274X.
unsigned GetIndex() const
parm_item_type GetType() const
bool ReadParamFromAmDef(char *&aText)
Read one aperture macro parameter.
void SetIndex(int aIndex)
void PushOperator(parm_item_type aType, double aValue)
Add an operator/operand to the current stack.
bool IsImmediate() const
Test if this AM_PARAM holds an immediate parameter or is a pointer into a parameter held by an owning...
std::vector< AM_PARAM_ITEM > m_paramStack
List of operands/operators to evaluate the actual value if a par def is $3/2, there are 3 items in st...
int m_index
has meaning to define parameter local to an aperture macro this is the id of a parameter defined like...
double GetValueFromMacro(APERTURE_MACRO *aApertureMacro) const
Support the "aperture macro" defined within standard RS274X.
double GetLocalParamValue(int aIndex)
This file contains miscellaneous commonly used macros and functions.
#define KI_FALLTHROUGH
The KI_FALLTHROUGH macro is to be used when switch statement cases should purposely fallthrough from ...