Block-Structured AMR Software Framework
AMReX_IParser_Y.H File Reference
#include <AMReX_Config.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_GpuPrint.H>
#include <AMReX_Math.H>
#include <AMReX_Print.H>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <set>
#include <string>
#include <type_traits>

Go to the source code of this file.

Classes

union  amrex::iparser_nvp
 
struct  amrex::iparser_node
 
struct  amrex::iparser_number
 
struct  amrex::iparser_symbol
 
struct  amrex::iparser_f1
 
struct  amrex::iparser_f2
 
struct  amrex::iparser_f3
 
struct  amrex::iparser_assign
 
struct  amrex::amrex_iparser
 

Namespaces

 amrex
 

Enumerations

enum  amrex::iparser_f1_t { amrex::IPARSER_ABS = 1 }
 
enum  amrex::iparser_f2_t {
  amrex::IPARSER_FLRDIV = 1 , amrex::IPARSER_POW , amrex::IPARSER_GT , amrex::IPARSER_LT ,
  amrex::IPARSER_GEQ , amrex::IPARSER_LEQ , amrex::IPARSER_EQ , amrex::IPARSER_NEQ ,
  amrex::IPARSER_AND , amrex::IPARSER_OR , amrex::IPARSER_MIN , amrex::IPARSER_MAX
}
 
enum  amrex::iparser_f3_t { amrex::IPARSER_IF }
 
enum  amrex::iparser_node_t {
  amrex::IPARSER_NUMBER = 1 , amrex::IPARSER_SYMBOL , amrex::IPARSER_ADD , amrex::IPARSER_SUB ,
  amrex::IPARSER_MUL , amrex::IPARSER_DIV , amrex::IPARSER_NEG , amrex::IPARSER_F1 ,
  amrex::IPARSER_F2 , amrex::IPARSER_F3 , amrex::IPARSER_ASSIGN , amrex::IPARSER_LIST ,
  amrex::IPARSER_ADD_VP , amrex::IPARSER_ADD_PP , amrex::IPARSER_SUB_VP , amrex::IPARSER_SUB_PP ,
  amrex::IPARSER_MUL_VP , amrex::IPARSER_MUL_PP , amrex::IPARSER_DIV_VP , amrex::IPARSER_DIV_PV ,
  amrex::IPARSER_DIV_PP , amrex::IPARSER_NEG_P
}
 

Functions

void amrex_iparsererror (char const *s,...)
 
void amrex::iparser_defexpr (struct iparser_node *body)
 
struct iparser_symbol * amrex::iparser_makesymbol (char *name)
 
struct iparser_node * amrex::iparser_newnode (enum iparser_node_t type, struct iparser_node *l, struct iparser_node *r)
 
struct iparser_node * amrex::iparser_newnumber (long long d)
 
struct iparser_node * amrex::iparser_newsymbol (struct iparser_symbol *symbol)
 
struct iparser_node * amrex::iparser_newf1 (enum iparser_f1_t ftype, struct iparser_node *l)
 
struct iparser_node * amrex::iparser_newf2 (enum iparser_f2_t ftype, struct iparser_node *l, struct iparser_node *r)
 
struct iparser_node * amrex::iparser_newf3 (enum iparser_f3_t ftype, struct iparser_node *n1, struct iparser_node *n2, struct iparser_node *n3)
 
struct iparser_node * amrex::iparser_newassign (struct iparser_symbol *sym, struct iparser_node *v)
 
struct iparser_node * amrex::iparser_newlist (struct iparser_node *nl, struct iparser_node *nr)
 
struct amrex_iparser * amrex::amrex_iparser_new ()
 
void amrex::amrex_iparser_delete (struct amrex_iparser *iparser)
 
struct amrex_iparser * amrex::iparser_dup (struct amrex_iparser *source)
 
struct iparser_node * amrex::iparser_ast_dup (struct amrex_iparser *my_iparser, struct iparser_node *node, int move)
 
void amrex::iparser_regvar (struct amrex_iparser *iparser, char const *name, int i)
 
void amrex::iparser_setconst (struct amrex_iparser *iparser, char const *name, long long c)
 
void amrex::iparser_print (struct amrex_iparser *iparser)
 
std::set< std::string > amrex::iparser_get_symbols (struct amrex_iparser *iparser)
 
int amrex::iparser_depth (struct amrex_iparser *iparser)
 
void amrex::iparser_ast_optimize (struct iparser_node *node)
 
std::size_t amrex::iparser_ast_size (struct iparser_node *node)
 
void amrex::iparser_ast_print (struct iparser_node *node, std::string const &space, AllPrint &printer)
 
void amrex::iparser_ast_regvar (struct iparser_node *node, char const *name, int i)
 
void amrex::iparser_ast_setconst (struct iparser_node *node, char const *name, long long c)
 
void amrex::iparser_ast_get_symbols (struct iparser_node *node, std::set< std::string > &symbols, std::set< std::string > &local_symbols)
 
int amrex::iparser_ast_depth (struct iparser_node *node)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE long long amrex::iparser_call_f1 (enum iparser_f1_t, long long a)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE long long amrex::iparser_call_f2 (enum iparser_f2_t type, long long a, long long b)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE long long amrex::iparser_call_f3 (enum iparser_f3_t, long long a, long long b, long long c)
 
long long amrex::iparser_atoll (const char *str)
 

Function Documentation

◆ amrex_iparsererror()

void amrex_iparsererror ( char const *  s,
  ... 
)