Class Expression

Class Documentation

class SymEngine::Expression

Public Functions

Expression()

Plain constructor of Expression.

template<class T>
Expression(T n, typename std::enable_if<std::is_integral<T>::value>::type* = nullptr)

Construct Expression from integral types.

template<class T>
Expression(T n, typename std::enable_if<std::is_floating_point<T>::value>::type* = nullptr)

Construct Expression from floating point types.

template<class T>
Expression(std::complex<T> n, typename std::enable_if<std::is_floating_point<T>::value>::type* = nullptr)

Construct Expression from std::complex<> types.

Expression(const integer_class &n)
Expression(const rational_class &n)
Expression(RCP<const Basic> &&o)
Expression(const RCP<const Basic> &o)
Expression(const std::string &s)
Expression(const Expression&) = default

Construct Expression from Expression.

Expression (Expression &&other) SYMENGINE_NOEXCEPT

Construct Expression from reference to Expression.

Expression &operator=(const Expression&) = default

Overload assignment operator.

Expression & operator= (Expression &&other) SYMENGINE_NOEXCEPT

Overload assignment operator for reference.

~Expression () SYMENGINE_NOEXCEPT

Destructor of Expression.

Expression &operator+=(const Expression &other)

Overload addition and assignment(+=)

Expression &operator+=(const RCP<const Basic> &other)
operator const RCP<const Basic>&() const
Expression diff(const RCP<const Symbol> &x, bool cache = true) const

Differentiation.

Expression diff(const RCP<const Basic> &x, bool cache = true) const

Differentiation.

Expression subs(const map_basic_basic &subs_map) const

Substitution.

template<typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
operator T() const

Evaluation to a floating point type.

template<typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
operator std::complex<T>() const

Evaluation to a complex floating point type.

operator const Basic&() const
Expression operator-() const

Overload unary negative.

Expression &operator-=(const Expression &other)

Overload subtraction and assignment(-=)

Expression &operator-=(const RCP<const Basic> &other)
Expression &operator*=(const Expression &other)

Overload multiplication and assignment (*=)

Expression &operator*=(const RCP<const Basic> &other)
Expression &operator/=(const Expression &other)

Overload Division and assignment (/=)

Expression &operator/=(const RCP<const Basic> &other)
bool operator==(const Expression &other) const

Overload check equality (==)

bool operator==(const RCP<const Basic> &other) const
bool operator!=(const Expression &other) const

Overload check not equal (!=)

bool operator!=(const RCP<const Basic> &other) const
const RCP<const Basic> &get_basic() const

Method to get Basic from Expression.

Friends

friend std::ostream &operator<<(std::ostream &os, const Expression &expr)

Overload stream operator.

friend Expression operator+(const Expression &a, const Expression &b)

Overload addition.

friend Expression operator+(const RCP<const Basic> &a, const Expression &b)
friend Expression operator+(const Expression &a, const RCP<const Basic> &b)
friend Expression operator-(const Expression &a, const Expression &b)

Overload subtraction.

friend Expression operator-(const RCP<const Basic> &a, const Expression &b)
friend Expression operator-(const Expression &a, const RCP<const Basic> &b)
friend Expression operator*(const Expression &a, const Expression &b)

Overload multiplication.

friend Expression operator*(const RCP<const Basic> &a, const Expression &b)
friend Expression operator*(const Expression &a, const RCP<const Basic> &b)
friend Expression operator/(const Expression &a, const Expression &b)

Overload Division.

friend Expression operator/(const RCP<const Basic> &a, const Expression &b)
friend Expression operator/(const Expression &a, const RCP<const Basic> &b)