#include <AMReX_Config.H>
#include <AMReX_Parser_Y.H>
#include <AMReX_Stack.H>
#include <AMReX_Vector.H>
#include <limits>
Go to the source code of this file.
|
enum | amrex::parser_exe_t {
amrex::PARSER_EXE_NULL = 0
, amrex::PARSER_EXE_NUMBER
, amrex::PARSER_EXE_SYMBOL
, amrex::PARSER_EXE_ADD
,
amrex::PARSER_EXE_SUB_F
, amrex::PARSER_EXE_SUB_B
, amrex::PARSER_EXE_MUL
, amrex::PARSER_EXE_DIV_F
,
amrex::PARSER_EXE_DIV_B
, amrex::PARSER_EXE_F1
, amrex::PARSER_EXE_F2_F
, amrex::PARSER_EXE_F2_B
,
amrex::PARSER_EXE_ADD_VP
, amrex::PARSER_EXE_SUB_VP
, amrex::PARSER_EXE_MUL_VP
, amrex::PARSER_EXE_DIV_VP
,
amrex::PARSER_EXE_ADD_PP
, amrex::PARSER_EXE_SUB_PP
, amrex::PARSER_EXE_MUL_PP
, amrex::PARSER_EXE_DIV_PP
,
amrex::PARSER_EXE_ADD_VN
, amrex::PARSER_EXE_SUB_VN
, amrex::PARSER_EXE_MUL_VN
, amrex::PARSER_EXE_DIV_VN
,
amrex::PARSER_EXE_ADD_PN
, amrex::PARSER_EXE_SUB_PN
, amrex::PARSER_EXE_MUL_PN
, amrex::PARSER_EXE_DIV_PN
,
amrex::PARSER_EXE_SQUARE
, amrex::PARSER_EXE_POWI
, amrex::PARSER_EXE_IF
, amrex::PARSER_EXE_JUMP
} |
|
|
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE double | amrex::parser_exe_eval (const char *p, double const *x) |
|
void | amrex::parser_compile_exe_size (struct parser_node *node, char *&p, std::size_t &exe_size, int &max_stack_size, int &stack_size, Vector< char const * > &local_variables) |
|
std::size_t | amrex::parser_exe_size (struct amrex_parser *parser, int &max_stack_size, int &stack_size) |
|
Vector< char const * > | amrex::parser_compile (struct amrex_parser *parser, char *p) |
|
void | amrex::parser_exe_print (char const *p, Vector< std::string > const &vars, Vector< char const * > const &locals) |
|
◆ AMREX_PARSER_GET_DATA
#define AMREX_PARSER_GET_DATA |
( |
|
i | ) |
((i)<1000) ? x[i] : pstack[(i)-1000] |
◆ AMREX_PARSER_LOCAL_IDX0
#define AMREX_PARSER_LOCAL_IDX0 1000 |
◆ AMREX_PARSER_STACK_SIZE
#define AMREX_PARSER_STACK_SIZE 16 |