Expr

template<class Key1 = idol::Var, class Key2 = Key1>
class Expr : public idol::impl::Expr<idol::Var, idol::Var>

Public Functions

Expr() = default
inline Expr(double t_num)
inline Expr(const Param &t_param)
inline Expr(Constant &&t_expr)
inline Expr(const Constant &t_expr)
inline Expr(const Key1 &t_var)
inline Expr(LinExpr<Key1> &&t_expr)
inline Expr(const LinExpr<Key1> &t_expr)
inline Expr(QuadExpr<Key1> &&t_expr)
inline Expr(const QuadExpr<Key1> &t_expr)
inline Expr(LinExpr<Key1> &&t_lin_expr, QuadExpr<Key1, Key2> &&t_quad_expr, Constant &&t_constant)
inline Expr(const LinExpr<Key1> &t_lin_expr, const QuadExpr<Key1, Key2> &t_quad_expr, const Constant &t_constant)
Expr(const Expr &t_src) = default
Expr(Expr&&) noexcept = default
Expr &operator=(const Expr &t_rhs) = default
Expr &operator=(Expr&&) noexcept = default
Expr fix(const Solution::Primal &t_primals) const
Expr<idol::Var, idol::Var> &operator+=(const Expr<idol::Var, idol::Var> &t_rhs)
Expr<idol::Var, idol::Var> &operator-=(const Expr<idol::Var, idol::Var> &t_rhs)
Expr<idol::Var, idol::Var> &operator*=(double t_rhs)
Expr<idol::Var, idol::Var> &operator/=(double t_rhs)
inline LinExpr<idol::Var> &linear()
inline const LinExpr<idol::Var> &linear() const
inline QuadExpr<idol::Var, idol::Var> &quadratic()
inline const QuadExpr<idol::Var, idol::Var> &quadratic() const
inline Constant &constant()
inline const Constant &constant() const
inline bool is_zero() const
void round()
double gcd() const
double scale_to_integers(unsigned int t_n_significant_digits)
Expr &multiply_with_precision(double t_factor, unsigned int t_n_digits)
Expr &multiply_with_precision_by_power_of_10(unsigned int t_exponent, unsigned int t_n_digits)
inline void clear()