diff --git a/source/simple/geom/bool_algebra.hpp b/source/simple/geom/bool_algebra.hpp index debe257005e17e23ed2e088e5da83296412e33ad..457b3606ad685e3e9e8e66d5161328a05e1c2b91 100644 --- a/source/simple/geom/bool_algebra.hpp +++ b/source/simple/geom/bool_algebra.hpp @@ -70,12 +70,24 @@ SIMPLE_GEOM_VECTOR_DEFINE_COMPARISON_OPERATOR(<=, conjunct) return conjunction<C,D,O>(v); } + template <typename C, size_t D, typename O> + conjunction<C,D,O> to_conjunction(disjunction<C,D,O> v) + { + return conjunction<C,D,O>(v.range); + } + template <typename C, size_t D, typename O> disjunction<C,D,O> to_disjunction(vector<C,D,O> v) { return disjunction<C,D,O>(v); } + template <typename C, size_t D, typename O> + disjunction<C,D,O> to_disjunction(conjunction<C,D,O> v) + { + return disjunction<C,D,O>(v.range); + } + // De Morgan's laws template <typename C, size_t D, typename O> [[nodiscard]] constexpr conjunction<C,D,O>