OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
ReactionExpression.cpp File Reference

Reaction expression compiler + Tier-1 evaluator — phase R2 body. More...

#include "ReactionExpression.hpp"
#include <cctype>
#include <cmath>
#include <cstdlib>
Include dependency graph for ReactionExpression.cpp:

Namespaces

namespace  openswmm
 
namespace  openswmm::transport
 

Functions

std::string openswmm::transport::compileReactionExpression (const std::string &src, const RxSymbols &symbols, std::vector< RxToken > &pool, RxExprSpan &out, int &error_col)
 Compile src into the shared pool.
 
double openswmm::transport::evalReactionExpression (const std::vector< RxToken > &pool, const RxExprSpan &span, const RxEvalEnv &env) noexcept
 Tier-1 evaluation: one pass, fixed-depth stack, allocation-free.
 
int openswmm::transport::reactionFunctionCount ()
 Number of built-in functions.
 
bool openswmm::transport::reactionFunctionInfo (int idx, const char **name, int *arity)
 Name + arity of function idx; false when out of range.
 
int openswmm::transport::reactionHydVarCount ()
 Number of built-in hydraulic variables.
 
bool openswmm::transport::reactionHydVarInfo (int idx, const char **name, const char **description)
 Name + one-line description of hydraulic variable idx.
 

Detailed Description

Reaction expression compiler + Tier-1 evaluator — phase R2 body.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0