codac 1.5.6
Loading...
Searching...
No Matches
codac2_SepInverse.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <map>
13#include "codac2_Sep.h"
15#include "codac2_CtcInverse.h"
18#include "codac2_SepCtcPair.h"
19
20namespace codac2
21{
22 class SepInverse : public SepCtcPair
23 {
24 using X = IntervalVector;
25
26 public:
27
28 template<typename T>
29 SepInverse(const AnalyticFunction<T>& f, const typename T::Domain& y, bool with_centered_form = true)
30 : SepCtcPair(
31 CtcInverseNotIn<typename T::Domain,X>(f,y,with_centered_form),
32 CtcInverse<typename T::Domain,X>(f,y,with_centered_form))
33 { }
34
35 template<typename T,typename S>
36 requires (std::is_same_v<T,VectorType> && IsSepBaseOrPtr<S>)
37 SepInverse(const AnalyticFunction<T>& f, const S& sep_y, bool with_centered_form = true)
38 : SepCtcPair(
39 CtcInverseNotIn<typename T::Domain,X>(f,CtcInner(sep_y),with_centered_form),
40 CtcInverse<typename T::Domain,X>(f,CtcOuter(sep_y),with_centered_form))
41 { }
42 };
43}