Parses the given string and evaluates it on request. More...

#include <parsedFormula.hh>

Public Types

typedef concepts::Sequence< std::pair< std::string, std::string > > RepSeq
 

Public Member Functions

 ParsedFormulaBase ()
 
 ParsedFormulaBase (const ParsedFormulaBase< dim > &frm)
 Copy constructor. More...
 
void set (const std::string formula, uint i=0, RepSeq rep=RepSeq())
 Sets the i th formula. More...
 

Protected Member Functions

Real process_ (const Real3d &p, const Real t=0.0, uint i=0) const
 Processing the i th formula (with time-dependency variable) More...
 

Protected Attributes

std::string formula_ [dim]
 The original formula. More...
 

Private Attributes

uint len_ [dim]
 Length of the parsed formula
More...
 
Array< ucharpgm_ [dim]
 The parsed formula. More...
 

Detailed Description

template<uint dim>
class concepts::ParsedFormulaBase< dim >

Parses the given string and evaluates it on request.

The following operations and functions are allowed in the formula: + - / and *, (), ^ for exponentiation (also with broken exponents but only with positive bases) and the following formulae:

  • sin
  • cos
  • atan
  • sinh
  • cosh
  • asin
  • acos
  • sqr
  • sqrt
  • exp
  • ln

x, y and z are allowed as variables and pi is defined.

See also
parse
process
Author
Philipp Frauenfelder, 2000

Definition at line 60 of file parsedFormula.hh.

Member Typedef Documentation

◆ RepSeq

template<uint dim>
typedef concepts::Sequence<std::pair<std::string,std::string> > concepts::ParsedFormulaBase< dim >::RepSeq

Definition at line 62 of file parsedFormula.hh.

Constructor & Destructor Documentation

◆ ParsedFormulaBase() [1/2]

template<uint dim>
concepts::ParsedFormulaBase< dim >::ParsedFormulaBase ( )
inline

Definition at line 64 of file parsedFormula.hh.

◆ ParsedFormulaBase() [2/2]

template<uint dim>
concepts::ParsedFormulaBase< dim >::ParsedFormulaBase ( const ParsedFormulaBase< dim > &  frm)
inline

Copy constructor.

Definition at line 71 of file parsedFormula.hh.

Member Function Documentation

◆ process_()

template<uint dim>
Real concepts::ParsedFormulaBase< dim >::process_ ( const Real3d p,
const Real  t = 0.0,
uint  i = 0 
) const
protected

Processing the i th formula (with time-dependency variable)

◆ set()

template<uint dim>
void concepts::ParsedFormulaBase< dim >::set ( const std::string  formula,
uint  i = 0,
RepSeq  rep = RepSeq() 
)

Sets the i th formula.

Member Data Documentation

◆ formula_

template<uint dim>
std::string concepts::ParsedFormulaBase< dim >::formula_[dim]
protected

The original formula.

Definition at line 85 of file parsedFormula.hh.

◆ len_

template<uint dim>
uint concepts::ParsedFormulaBase< dim >::len_[dim]
private

Length of the parsed formula

Definition at line 90 of file parsedFormula.hh.

◆ pgm_

template<uint dim>
Array<uchar> concepts::ParsedFormulaBase< dim >::pgm_[dim]
private

The parsed formula.

Definition at line 88 of file parsedFormula.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich