15#ifndef dealii_mu_parser_internal_h
16#define dealii_mu_parser_internal_h
41 mu_if(
double condition,
double thenvalue,
double elsevalue);
44 mu_or(
double left,
double right);
47 mu_and(
double left,
double right);
71 mu_pow(
double a,
double b);
91 std::vector<std::string>
101 <<
"Parsing Error at Column " << arg1
102 <<
". The parser said: " << arg2);
153 std::vector<std::unique_ptr<muParserBase>>
parsers;
156 template <
int dim,
typename Number>
172 const std::map<std::string, double> &
constants,
173 const bool time_dependent =
false);
188 unsigned int component)
const;
A class that provides a separate storage location on each thread that accesses the object.
Number do_value(const Point< dim > &p, const double time, unsigned int component) const
Threads::ThreadLocalStorage< internal::FunctionParser::ParserData > parser_data
void init_muparser() const
void do_all_values(const Point< dim > &p, const double time, ArrayView< Number > &values) const
std::vector< std::string > expressions
std::map< std::string, double > constants
std::vector< std::string > var_names
virtual ~ParserImplementation()=default
virtual void initialize(const std::string &vars, const std::vector< std::string > &expressions, const std::map< std::string, double > &constants, const bool time_dependent=false)
virtual ~muParserBase()=default
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcParseError(int arg1, std::string arg2)
#define DeclException2(Exception2, type1, type2, outsequence)
double mu_if(double condition, double thenvalue, double elsevalue)
double mu_erf(double value)
double mu_sec(double value)
double mu_floor(double value)
double mu_csc(double value)
double mu_pow(double a, double b)
double mu_log(double value)
double mu_rand_seed(double seed)
double mu_ceil(double value)
std::vector< std::string > get_function_names()
double mu_cot(double value)
double mu_int(double value)
double mu_or(double left, double right)
double mu_and(double left, double right)
double mu_erfc(double value)
std::vector< double > vars
std::vector< std::unique_ptr< muParserBase > > parsers
ParserData(const ParserData &)=delete