OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Classes | Namespaces | Functions
matheval.hpp File Reference
#include "Physics/Physics.h"
#include "Physics/Units.h"
#include <algorithm>
#include <array>
#include <cctype>
#include <cmath>
#include <functional>
#include <iterator>
#include <limits>
#include <map>
#include <memory>
#include <stdexcept>
#include <string>
#include <string_view>
#include <variant>
Include dependency graph for matheval.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  matheval::detail::nil
 
struct  matheval::detail::recursive_wrapper< T >
 
struct  matheval::detail::expr_ast< real_t >
 Abstract Syntax Tree. More...
 
struct  matheval::detail::unary_op< real_t >
 Store a unary operator and its argument tree. More...
 
struct  matheval::detail::binary_op< real_t >
 Store a binary operator and its argument trees. More...
 
class  matheval::detail::eval_ast< real_t >
 Evaluate the Abstract Syntax Tree. More...
 
struct  matheval::detail::ConstantFolder< real_t >
 
class  matheval::detail::SimpleMathParser< real_t >
 
class  matheval::Parser< real_t >
 Class interface. More...
 

Namespaces

namespace  matheval
 
namespace  matheval::detail
 
namespace  matheval::detail::math
 

Functions

template<typename T >
constexpr T matheval::detail::math::sgn (T x)
 Sign function.
 
template<typename T >
matheval::detail::math::isnan (T x)
 isnan function with adjusted return type
 
template<typename T >
matheval::detail::math::isinf (T x)
 isinf function with adjusted return type
 
template<typename T >
constexpr T matheval::detail::math::deg (T x)
 Convert radians to degrees.
 
template<typename T >
constexpr T matheval::detail::math::rad (T x)
 Convert degrees to radians.
 
template<typename real_t , typename Iterator >
expr_ast< real_t > matheval::detail::parse (Iterator first, Iterator last)
 Parse an expression.
 
template<typename real_t , typename Iterator >
real_t matheval::parse (Iterator first, Iterator last, typename detail::eval_ast< real_t >::symbol_table_t const &st)
 Convenience function.
 
template<typename real_t >
real_t matheval::parse (std::string const &str, typename detail::eval_ast< real_t >::symbol_table_t const &st)