18 class ConstValueExpr :
public AnalyticExpr<T>
22 ConstValueExpr(
const typename T::Domain& x)
26 std::shared_ptr<ExprBase> copy()
const
28 return std::make_shared<ConstValueExpr<T>>(*this);
31 T fwd_eval(ValuesMap& v, Index total_input_size,
bool natural_eval)
const
34 return AnalyticExpr<T>::init_value(v, T(
42 return AnalyticExpr<T>::init_value(v, T(
47 IntervalMatrix::zero(_x.size(),total_input_size),
53 void bwd_eval(ValuesMap& v)
const
55 AnalyticExpr<T>::value(v).a &= _x;
58 void replace_expr([[maybe_unused]]
const ExprID& old_expr_id, [[maybe_unused]]
const std::shared_ptr<ExprBase>& new_expr)
61 virtual bool belongs_to_args_list([[maybe_unused]]
const FunctionArgsList& args)
const
68 const typename T::Domain _x;
72 inline AnalyticExprWrapper<typename ValueType<T>::Type> const_value(
const T& x)
74 return { std::make_shared<ConstValueExpr<typename ValueType<T>::Type>>(x) };