User Tools

Site Tools


libkin:drafts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
libkin:drafts [2026/08/03 16:54] abclibkin:drafts [2026/08/03 17:36] (current) – [Выражения] abc
Line 19: Line 19:
 :!: Если в выражении встречается имя реагента, то при расчёте кинетики процесса (решении СДУ) в вычислениях используются не начальные, а текущие концентрации (меняющиеся во времени).  :!: Если в выражении встречается имя реагента, то при расчёте кинетики процесса (решении СДУ) в вычислениях используются не начальные, а текущие концентрации (меняющиеся во времени). 
  
-  double SchemaInstance::evaluateParameterValue(const Clip& name, const ExprEvalContext* pContext) const+  double SchemaInstance::evaluateParameterValue(const String& name, const ExprEvalContext*)
 +  double Expression::evaluate(const ExprEvalContext*); 
 +  double ParsedExpression::evaluate(const ExprEvalContext*);
  
-  double Expression::evaluate(const ExprEvalContextpContext)+При оценке значения выражения используется вычислительный контекст (//struct\_ExprEvalContext//): 
 +  struct ExprEvalContext { 
 +   double time; 
 +   const doubleconcentrations; 
 +   const SchemaInstance* schemaInstance; 
 +  };
  
-  double ParsedExpression::evaluate(const ExprEvalContext*)+Числовые выражения не требуют контекста для вычислений, для них может быть использовано //Expression::evaluate(nullptr)//. 
 + 
 +Выражения вычисляются в контексте //SchemaInstance//, в контексте //Schema// никогда (возможно только использование значений по-умолчанию из //Schema//((и //SchemaInstance// имеет ссылку на свою родительскую //Schema//))).
  
      
libkin/drafts.1785765296.txt.gz · Last modified: by abc