21 struct AnalyticTypeBase
23 virtual ~AnalyticTypeBase() =
default;
26 template<
typename T,
typename D>
27 struct AnalyticType :
public AnalyticTypeBase
37 AnalyticType() =
delete;
39 AnalyticType(
const D& a_,
bool def_domain_)
40 : a(a_), def_domain(def_domain_)
43 AnalyticType(
const D& m_,
const D& a_,
const IntervalMatrix& da_,
bool def_domain_)
44 : m(m_), a(a_), da(da_), def_domain(def_domain_)
47 AnalyticType<T,D>& operator&=(
const AnalyticType<T,D>& x)
51 def_domain &= x.def_domain;
56 using ScalarType = AnalyticType<double,Interval>;
57 using VectorType = AnalyticType<Vector,IntervalVector>;
58 using MatrixType = AnalyticType<Matrix,IntervalMatrix>;
60 template<
typename... T>
61 bool centered_form_not_available_for_args(
const T&... a)
63 return ((a.da.size() == 0) || ...);