WarpX
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
WarpXParser Class Reference

#include <WarpXParser.H>

Public Member Functions

 WarpXParser (std::string const &func_body)
 
 WarpXParser ()=default
 
 ~WarpXParser ()
 
void define (std::string const &func_body)
 
void setConstant (std::string const &name, amrex::Real c)
 
void registerVariable (std::string const &name, amrex::Real &var)
 
amrex::Real eval () const noexcept
 
void registerVariables (std::vector< std::string > const &names)
 
template<typename T , typename... Ts>
amrex::Real eval (T x, Ts... yz) const noexcept
 
void print () const
 
int depth () const
 
std::string const & expr () const
 
std::set< std::string > symbols () const
 

Private Member Functions

void clear ()
 
template<typename T >
void unpack (amrex::Real *p, T x) const noexcept
 
template<typename T , typename... Ts>
void unpack (amrex::Real *p, T x, Ts... yz) const noexcept
 

Private Attributes

std::string m_expression
 
struct wp_parserm_parser = nullptr
 
std::array< amrex::Real, 16 > m_variables
 
std::vector< std::string > m_varnames
 

Friends

template<int N>
class GpuParser
 

Constructor & Destructor Documentation

◆ WarpXParser() [1/2]

WarpXParser::WarpXParser ( std::string const &  func_body)

◆ WarpXParser() [2/2]

WarpXParser::WarpXParser ( )
default

◆ ~WarpXParser()

WarpXParser::~WarpXParser ( )

Member Function Documentation

◆ clear()

void WarpXParser::clear ( )
private

◆ define()

void WarpXParser::define ( std::string const &  func_body)

◆ depth()

int WarpXParser::depth ( ) const

◆ eval() [1/2]

amrex::Real WarpXParser::eval ( ) const
inlinenoexcept

◆ eval() [2/2]

template<typename T , typename... Ts>
amrex::Real WarpXParser::eval ( x,
Ts...  yz 
) const
inlinenoexcept

◆ expr()

std::string const & WarpXParser::expr ( ) const

◆ print()

void WarpXParser::print ( ) const

◆ registerVariable()

void WarpXParser::registerVariable ( std::string const &  name,
amrex::Real &  var 
)

◆ registerVariables()

void WarpXParser::registerVariables ( std::vector< std::string > const &  names)

◆ setConstant()

void WarpXParser::setConstant ( std::string const &  name,
amrex::Real  c 
)

◆ symbols()

std::set< std::string > WarpXParser::symbols ( ) const

◆ unpack() [1/2]

template<typename T >
void WarpXParser::unpack ( amrex::Real *  p,
x 
) const
inlineprivatenoexcept

◆ unpack() [2/2]

template<typename T , typename... Ts>
void WarpXParser::unpack ( amrex::Real *  p,
x,
Ts...  yz 
) const
inlineprivatenoexcept

Friends And Related Function Documentation

◆ GpuParser

template<int N>
friend class GpuParser
friend

Member Data Documentation

◆ m_expression

std::string WarpXParser::m_expression
private

◆ m_parser

struct wp_parser* WarpXParser::m_parser = nullptr
private

◆ m_variables

std::array<amrex::Real,16> WarpXParser::m_variables
mutableprivate

◆ m_varnames

std::vector<std::string> WarpXParser::m_varnames
mutableprivate

The documentation for this class was generated from the following files: