diff --git a/Code/hull_permutation.cpp b/Code/hull_permutation.cpp index 83b0fe56314fc03d5e917ceef0205eaee90e123e..6f0a28428871e959e1b090f5bd4bc1a2fda1511d 100644 --- a/Code/hull_permutation.cpp +++ b/Code/hull_permutation.cpp @@ -103,7 +103,7 @@ size_t leftmost(const std::vector<vec>& points) { size_t min = 0 ; //iterato on all the points for(size_t i = 1; i < points.size(); ++i) { - if(points[i].x < points[min].x) { + if(points[i].lexicoinf(points[min])) { //update the leftmost min = i ; } diff --git a/Code/precision.cpp b/Code/precision.cpp index 22732da4de4c7d0ad72795b3fcf6419555dbc4de..0a4f4c62f79354fae20292ac4825634d8c9b0102 100644 --- a/Code/precision.cpp +++ b/Code/precision.cpp @@ -17,18 +17,16 @@ using MatRX = Eigen::Matrix<rational, Eigen::Dynamic, Eigen::Dynamic> ; using VecRX = Eigen::Matrix<rational, Eigen::Dynamic, 1> ; //fix problems when using intervals in Eigen -namespace Eigen { - namespace internal { - template<typename X, typename S, typename P> - struct is_convertible<X,boost::numeric::interval<S,P> > { - enum { value = is_convertible<X,S>::value }; - }; +namespace std { + template<typename X, typename S, typename P> + struct is_convertible<X,boost::numeric::interval<S,P> > { + enum { value = is_convertible<X,S>::value }; + }; - template<typename S, typename P1, typename P2> - struct is_convertible<boost::numeric::interval<S,P1>,boost::numeric::interval<S,P2> > { - enum { value = true }; - }; - } + template<typename S, typename P1, typename P2> + struct is_convertible<boost::numeric::interval<S,P1>,boost::numeric::interval<S,P2> > { + enum { value = true }; + }; } //{{{ command line