20 struct AnalyticTypeBase
22 virtual ~AnalyticTypeBase() =
default;
25 template<
typename S,
typename T,
typename M>
26 struct AnalyticType :
public AnalyticTypeBase
36 AnalyticType() =
delete;
38 AnalyticType(
const T& a_,
bool def_domain_)
39 : a(a_), def_domain(def_domain_)
42 AnalyticType(
const T& m_,
const T& a_,
const M& da_,
bool def_domain_)
43 : m(m_), a(a_), da(da_), def_domain(def_domain_)
46 AnalyticType<S,T,M>& operator&=(
const AnalyticType<S,T,M>& x)
50 def_domain &= x.def_domain;
55 using ScalarType = AnalyticType<double,Interval,IntervalMatrix>;
56 using VectorType = AnalyticType<Vector,IntervalVector,IntervalMatrix>;
57 using MatrixType = AnalyticType<Matrix,IntervalMatrix,IntervalMatrix>;
59 template<
typename... T>
60 bool centered_form_not_available_for_args(
const T&... a)
62 return ((a.da.size() == 0) || ...);