Temporary header file '/tmp/Y8VHGeLc2q/dump1.h' with the following content will be compiled to create GCC translation unit dump: // add defines #define __STDC_VERSION__ 201710L #define _GXX_NULLPTR_T #define CLUTTER_ENABLE_COMPOSITOR_API 1 #define _REGEX_NELTS(n) #define _Atomic #define PACKED #define getaddrinfo_a(a,b,c,d) // add includes #include "/usr/include/hera/bottleneck/basic_defs_bt.h" #include "/usr/include/hera/bottleneck/bottleneck.h" #include "/usr/include/hera/bottleneck/bottleneck_detail.h" #include "/usr/include/hera/bottleneck/bottleneck_detail.hpp" #include "/usr/include/hera/bottleneck/bound_match.h" #include "/usr/include/hera/bottleneck/bound_match.hpp" #include "/usr/include/hera/bottleneck/def_debug_bt.h" #include "/usr/include/hera/bottleneck/diagram_reader.h" #include "/usr/include/hera/bottleneck/diagram_traits.h" #include "/usr/include/hera/bottleneck/dnn/geometry/euclidean-fixed.h" #include "/usr/include/hera/bottleneck/dnn/local/kd-tree.h" #include "/usr/include/hera/bottleneck/dnn/local/kd-tree.hpp" #include "/usr/include/hera/bottleneck/dnn/local/search-functors.h" #include "/usr/include/hera/bottleneck/dnn/parallel/tbb.h" #include "/usr/include/hera/bottleneck/dnn/parallel/utils.h" #include "/usr/include/hera/bottleneck/dnn/utils.h" #include "/usr/include/hera/bottleneck/neighb_oracle.h" #include "/usr/include/hera/wasserstein/auction_oracle.h" #include "/usr/include/hera/wasserstein/auction_oracle_base.h" #include "/usr/include/hera/wasserstein/auction_oracle_base.hpp" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_pure_geom.h" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_pure_geom.hpp" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_restricted.h" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_restricted.hpp" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_single_diag.h" #include "/usr/include/hera/wasserstein/auction_oracle_kdtree_single_diag.hpp" #include "/usr/include/hera/wasserstein/auction_oracle_lazy_heap.h" #include "/usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp" #include "/usr/include/hera/wasserstein/auction_oracle_stupid_sparse_restricted.h" #include "/usr/include/hera/wasserstein/auction_oracle_stupid_sparse_restricted.hpp" #include "/usr/include/hera/wasserstein/auction_runner_fr.h" #include "/usr/include/hera/wasserstein/auction_runner_fr.hpp" #include "/usr/include/hera/wasserstein/auction_runner_gs.h" #include "/usr/include/hera/wasserstein/auction_runner_gs.hpp" #include "/usr/include/hera/wasserstein/auction_runner_gs_single_diag.h" #include "/usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp" #include "/usr/include/hera/wasserstein/auction_runner_jac.h" #include "/usr/include/hera/wasserstein/auction_runner_jac.hpp" #include "/usr/include/hera/wasserstein/basic_defs_ws.h" #include "/usr/include/hera/wasserstein/basic_defs_ws.hpp" #include "/usr/include/hera/wasserstein/def_debug_ws.h" #include "/usr/include/hera/wasserstein/diagonal_heap.h" #include "/usr/include/hera/wasserstein/diagram_reader.h" #include "/usr/include/hera/wasserstein/dnn/geometry/euclidean-dynamic.h" #include "/usr/include/hera/wasserstein/dnn/geometry/euclidean-fixed.h" #include "/usr/include/hera/wasserstein/dnn/local/kd-tree.h" #include "/usr/include/hera/wasserstein/dnn/local/kd-tree.hpp" #include "/usr/include/hera/wasserstein/dnn/local/search-functors.h" #include "/usr/include/hera/wasserstein/dnn/parallel/tbb.h" #include "/usr/include/hera/wasserstein/dnn/parallel/utils.h" #include "/usr/include/hera/wasserstein/dnn/utils.h" #include "/usr/include/hera/wasserstein/hera_infinity.h" #include "/usr/include/hera/wasserstein/opts/opts.h" #include "/usr/include/hera/wasserstein/wasserstein.h" #include "/usr/include/hera/wasserstein/wasserstein_pure_geom.hpp" // add namespaces namespace boost{typedef int tmp_add_type_1;} boost::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace boost{namespace adaptors{typedef int tmp_add_type_2;}} boost::adaptors::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace boost{namespace archive{typedef int tmp_add_type_3;}} boost::archive::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace boost{namespace archive{namespace detail{typedef int tmp_add_type_4;}}} boost::archive::detail::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace boost{namespace concepts{typedef int tmp_add_type_5;}} boost::concepts::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace boost{namespace concepts{namespace detail{typedef int tmp_add_type_6;}}} boost::concepts::detail::tmp_add_type_6 tmp_add_func_6(){return 0;}; namespace boost{namespace core{typedef int tmp_add_type_7;}} boost::core::tmp_add_type_7 tmp_add_func_7(){return 0;}; namespace boost{namespace detail{typedef int tmp_add_type_8;}} boost::detail::tmp_add_type_8 tmp_add_func_8(){return 0;}; namespace boost{namespace foreach{typedef int tmp_add_type_9;}} boost::foreach::tmp_add_type_9 tmp_add_func_9(){return 0;}; namespace boost{namespace heap{typedef int tmp_add_type_10;}} boost::heap::tmp_add_type_10 tmp_add_func_10(){return 0;}; namespace boost{namespace heap{namespace detail{typedef int tmp_add_type_11;}}} boost::heap::detail::tmp_add_type_11 tmp_add_func_11(){return 0;}; namespace boost{namespace heap{namespace tag{typedef int tmp_add_type_12;}}} boost::heap::tag::tmp_add_type_12 tmp_add_func_12(){return 0;}; namespace boost{namespace integer{typedef int tmp_add_type_13;}} boost::integer::tmp_add_type_13 tmp_add_func_13(){return 0;}; namespace boost{namespace iterators{typedef int tmp_add_type_14;}} boost::iterators::tmp_add_type_14 tmp_add_func_14(){return 0;}; namespace boost{namespace iterators{namespace detail{typedef int tmp_add_type_15;}}} boost::iterators::detail::tmp_add_type_15 tmp_add_func_15(){return 0;}; namespace boost{namespace movelib{typedef int tmp_add_type_16;}} boost::movelib::tmp_add_type_16 tmp_add_func_16(){return 0;}; namespace boost{namespace mp11{typedef int tmp_add_type_17;}} boost::mp11::tmp_add_type_17 tmp_add_func_17(){return 0;}; namespace boost{namespace mp11{namespace detail{typedef int tmp_add_type_18;}}} boost::mp11::detail::tmp_add_type_18 tmp_add_func_18(){return 0;}; namespace boost{namespace mpl{typedef int tmp_add_type_19;}} boost::mpl::tmp_add_type_19 tmp_add_func_19(){return 0;}; namespace boost{namespace mpl{namespace aux{typedef int tmp_add_type_20;}}} boost::mpl::aux::tmp_add_type_20 tmp_add_func_20(){return 0;}; namespace boost{namespace mpl{namespace placeholders{typedef int tmp_add_type_21;}}} boost::mpl::placeholders::tmp_add_type_21 tmp_add_func_21(){return 0;}; namespace boost{namespace parameter{typedef int tmp_add_type_22;}} boost::parameter::tmp_add_type_22 tmp_add_func_22(){return 0;}; namespace boost{namespace parameter{namespace aux{typedef int tmp_add_type_23;}}} boost::parameter::aux::tmp_add_type_23 tmp_add_func_23(){return 0;}; namespace boost{namespace placeholders{typedef int tmp_add_type_24;}} boost::placeholders::tmp_add_type_24 tmp_add_func_24(){return 0;}; namespace boost{namespace random{typedef int tmp_add_type_25;}} boost::random::tmp_add_type_25 tmp_add_func_25(){return 0;}; namespace boost{namespace random{namespace detail{typedef int tmp_add_type_26;}}} boost::random::detail::tmp_add_type_26 tmp_add_func_26(){return 0;}; namespace boost{namespace random{namespace traits{typedef int tmp_add_type_27;}}} boost::random::traits::tmp_add_type_27 tmp_add_func_27(){return 0;}; namespace boost{namespace range{typedef int tmp_add_type_28;}} boost::range::tmp_add_type_28 tmp_add_func_28(){return 0;}; namespace boost{namespace serialization{typedef int tmp_add_type_29;}} boost::serialization::tmp_add_type_29 tmp_add_func_29(){return 0;}; namespace boost{namespace serialization{namespace detail{typedef int tmp_add_type_30;}}} boost::serialization::detail::tmp_add_type_30 tmp_add_func_30(){return 0;}; namespace boost{namespace serialization{namespace stl{typedef int tmp_add_type_31;}}} boost::serialization::stl::tmp_add_type_31 tmp_add_func_31(){return 0;}; namespace boost{namespace tuples{typedef int tmp_add_type_32;}} boost::tuples::tmp_add_type_32 tmp_add_func_32(){return 0;}; namespace boost{namespace tuples{namespace detail{typedef int tmp_add_type_33;}}} boost::tuples::detail::tmp_add_type_33 tmp_add_func_33(){return 0;}; namespace dnn{typedef int tmp_add_type_34;} dnn::tmp_add_type_34 tmp_add_func_34(){return 0;}; namespace hera{typedef int tmp_add_type_35;} hera::tmp_add_type_35 tmp_add_func_35(){return 0;}; namespace hera{namespace bt{typedef int tmp_add_type_36;}} hera::bt::tmp_add_type_36 tmp_add_func_36(){return 0;}; namespace hera{namespace bt{namespace dnn{typedef int tmp_add_type_37;}}} hera::bt::dnn::tmp_add_type_37 tmp_add_func_37(){return 0;}; namespace hera{namespace ws{typedef int tmp_add_type_38;}} hera::ws::tmp_add_type_38 tmp_add_func_38(){return 0;}; namespace hera{namespace ws{namespace dnn{typedef int tmp_add_type_39;}}} hera::ws::dnn::tmp_add_type_39 tmp_add_func_39(){return 0;}; namespace opts{typedef int tmp_add_type_40;} opts::tmp_add_type_40 tmp_add_func_40(){return 0;}; namespace ws{typedef int tmp_add_type_41;} ws::tmp_add_type_41 tmp_add_func_41(){return 0;}; namespace boost{namespace _bi{typedef int tmp_add_type_42;}} boost::_bi::tmp_add_type_42 tmp_add_func_42(){return 0;}; namespace boost{namespace _mfi{typedef int tmp_add_type_43;}} boost::_mfi::tmp_add_type_43 tmp_add_func_43(){return 0;}; namespace boost{namespace adaptors{namespace __anon717d93758811{typedef int tmp_add_type_44;}}} boost::adaptors::__anon717d93758811::tmp_add_type_44 tmp_add_func_44(){return 0;}; namespace boost{namespace binary_op_detail{typedef int tmp_add_type_45;}} boost::binary_op_detail::tmp_add_type_45 tmp_add_func_45(){return 0;}; namespace boost{namespace detail{namespace aligned_storage{typedef int tmp_add_type_46;}}} boost::detail::aligned_storage::tmp_add_type_46 tmp_add_func_46(){return 0;}; namespace boost{namespace detail{namespace indirect_traits{typedef int tmp_add_type_47;}}} boost::detail::indirect_traits::tmp_add_type_47 tmp_add_func_47(){return 0;}; namespace boost{namespace exception_detail{typedef int tmp_add_type_48;}} boost::exception_detail::tmp_add_type_48 tmp_add_func_48(){return 0;}; namespace boost{namespace foreach_detail_{typedef int tmp_add_type_49;}} boost::foreach_detail_::tmp_add_type_49 tmp_add_func_49(){return 0;}; namespace boost{namespace iterator_range_detail{typedef int tmp_add_type_50;}} boost::iterator_range_detail::tmp_add_type_50 tmp_add_func_50(){return 0;}; namespace boost{namespace iterators{namespace advance_adl_barrier{typedef int tmp_add_type_51;}}} boost::iterators::advance_adl_barrier::tmp_add_type_51 tmp_add_func_51(){return 0;}; namespace boost{namespace iterators{namespace distance_adl_barrier{typedef int tmp_add_type_52;}}} boost::iterators::distance_adl_barrier::tmp_add_type_52 tmp_add_func_52(){return 0;}; namespace boost{namespace move_detail{typedef int tmp_add_type_53;}} boost::move_detail::tmp_add_type_53 tmp_add_func_53(){return 0;}; namespace boost{namespace next_prior_detail{typedef int tmp_add_type_54;}} boost::next_prior_detail::tmp_add_type_54 tmp_add_func_54(){return 0;}; namespace boost{namespace noncopyable_{typedef int tmp_add_type_55;}} boost::noncopyable_::tmp_add_type_55 tmp_add_func_55(){return 0;}; namespace boost{namespace operators_impl{typedef int tmp_add_type_56;}} boost::operators_impl::tmp_add_type_56 tmp_add_func_56(){return 0;}; namespace boost{namespace operators_impl{namespace operators_detail{typedef int tmp_add_type_57;}}} boost::operators_impl::operators_detail::tmp_add_type_57 tmp_add_func_57(){return 0;}; namespace boost{namespace optional_config{typedef int tmp_add_type_58;}} boost::optional_config::tmp_add_type_58 tmp_add_func_58(){return 0;}; namespace boost{namespace optional_detail{typedef int tmp_add_type_59;}} boost::optional_detail::tmp_add_type_59 tmp_add_func_59(){return 0;}; namespace boost{namespace optional_ns{typedef int tmp_add_type_60;}} boost::optional_ns::tmp_add_type_60 tmp_add_func_60(){return 0;}; namespace boost{namespace range_adl_barrier{typedef int tmp_add_type_61;}} boost::range_adl_barrier::tmp_add_type_61 tmp_add_func_61(){return 0;}; namespace boost{namespace range_detail{typedef int tmp_add_type_62;}} boost::range_detail::tmp_add_type_62 tmp_add_func_62(){return 0;}; namespace boost{namespace range_distance_adl_barrier{typedef int tmp_add_type_63;}} boost::range_distance_adl_barrier::tmp_add_type_63 tmp_add_func_63(){return 0;}; namespace boost{namespace serialization{namespace void_cast_detail{typedef int tmp_add_type_64;}}} boost::serialization::void_cast_detail::tmp_add_type_64 tmp_add_func_64(){return 0;}; namespace boost{namespace tt_align_ns{typedef int tmp_add_type_65;}} boost::tt_align_ns::tmp_add_type_65 tmp_add_func_65(){return 0;}; namespace boost{namespace type_of{typedef int tmp_add_type_66;}} boost::type_of::tmp_add_type_66 tmp_add_func_66(){return 0;}; namespace boost{namespace type_traits{typedef int tmp_add_type_67;}} boost::type_traits::tmp_add_type_67 tmp_add_func_67(){return 0;}; namespace boost{namespace type_traits{namespace detail{typedef int tmp_add_type_68;}}} boost::type_traits::detail::tmp_add_type_68 tmp_add_func_68(){return 0;}; namespace boost{namespace type_traits_detail{typedef int tmp_add_type_69;}} boost::type_traits_detail::tmp_add_type_69 tmp_add_func_69(){return 0;}; namespace boost{namespace type_traits_swappable_detail{typedef int tmp_add_type_70;}} boost::type_traits_swappable_detail::tmp_add_type_70 tmp_add_func_70(){return 0;}; namespace boost_concepts{typedef int tmp_add_type_71;} boost_concepts::tmp_add_type_71 tmp_add_func_71(){return 0;}; namespace boost_concepts{namespace detail{typedef int tmp_add_type_72;}} boost_concepts::detail::tmp_add_type_72 tmp_add_func_72(){return 0;}; namespace boost_optional_detail{typedef int tmp_add_type_73;} boost_optional_detail::tmp_add_type_73 tmp_add_func_73(){return 0;}; namespace boost_swap_impl{typedef int tmp_add_type_74;} boost_swap_impl::tmp_add_type_74 tmp_add_func_74(){return 0;}; namespace mpl_{typedef int tmp_add_type_75;} mpl_::tmp_add_type_75 tmp_add_func_75(){return 0;}; namespace mpl_{namespace aux{typedef int tmp_add_type_76;}} mpl_::aux::tmp_add_type_76 tmp_add_func_76(){return 0;}; // add classes _G_fpos64_t* tmp_add_class_0; _G_fpos_t* tmp_add_class_1; _IO_cookie_io_functions_t* tmp_add_class_2; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/Y8VHGeLc2q/dump1.h" -I/usr/include/hera/wasserstein In file included from /tmp/Y8VHGeLc2q/dump1.h:12: /usr/include/hera/bottleneck/basic_defs_bt.h: In member function ‘void hera::bt::DiagramPointSet::fillIn(const PointContainer&)’: /usr/include/hera/bottleneck/basic_defs_bt.h:438:32: error: ‘DiagramTraits’ does not name a type 438 | using Traits = DiagramTraits; | ^~~~~~~~~~~~~ /usr/include/hera/bottleneck/basic_defs_bt.h:444:30: error: ‘Traits’ has not been declared 444 | Real x = Traits::get_x(pt); | ^~~~~~ /usr/include/hera/bottleneck/basic_defs_bt.h:445:30: error: ‘Traits’ has not been declared 445 | Real y = Traits::get_y(pt); | ^~~~~~ In file included from /usr/include/boost/bind.hpp:30, from /usr/include/hera/bottleneck/dnn/geometry/../parallel/tbb.h:11, from /usr/include/hera/bottleneck/dnn/geometry/euclidean-fixed.h:15, from /usr/include/hera/bottleneck/neighb_oracle.h:37, from /usr/include/hera/bottleneck/bound_match.h:36, from /usr/include/hera/bottleneck/bottleneck_detail.h:41, from /usr/include/hera/bottleneck/bottleneck.h:41, from /tmp/Y8VHGeLc2q/dump1.h:13: /usr/include/boost/bind.hpp: At global scope: /usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’ 36 | BOOST_PRAGMA_MESSAGE( | ^~~~~~~~~~~~~~~~~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:23: /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:10:1: error: redefinition of ‘hera::bt::dnn::KDTree::KDTree(const Traits&, HandleContainer&&)’ 10 | hera::bt::dnn::KDTree::KDTree(const Traits& traits, HandleContainer&& handles): | ^~~~ In file included from /usr/include/hera/bottleneck/dnn/local/kd-tree.h:104, from /usr/include/hera/bottleneck/neighb_oracle.h:38: /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:10:1: note: ‘hera::bt::dnn::KDTree::KDTree(const Traits&, HandleContainer&&)’ previously declared here 10 | hera::bt::dnn::KDTree::KDTree(const Traits& traits, HandleContainer&& handles): | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:22:1: error: redefinition of ‘hera::bt::dnn::KDTree::KDTree(const Traits&, const Range&)’ 22 | hera::bt::dnn::KDTree::KDTree(const Traits& traits, const Range& range): | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:22:1: note: ‘hera::bt::dnn::KDTree::KDTree(const Traits&, const Range&)’ previously declared here 22 | hera::bt::dnn::KDTree::KDTree(const Traits& traits, const Range& range): | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:30:6: error: redefinition of ‘void hera::bt::dnn::KDTree::init(const Range&)’ 30 | void hera::bt::dnn::KDTree::init(const Range& range) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:30:6: note: ‘void hera::bt::dnn::KDTree::init(const Range&)’ previously declared here 30 | void hera::bt::dnn::KDTree::init(const Range& range) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:44:6: error: redefinition of ‘void hera::bt::dnn::KDTree::init()’ 44 | void hera::bt::dnn::KDTree::init() | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:44:6: note: ‘void hera::bt::dnn::KDTree::init()’ previously declared here 44 | void hera::bt::dnn::KDTree::init() | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:64:27: error: redefinition of ‘struct hera::bt::dnn::KDTree::OrderTree’ 64 | hera::bt::dnn::KDTree::OrderTree | ^~~~~~~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:64:27: note: previous definition of ‘struct hera::bt::dnn::KDTree::OrderTree’ 64 | hera::bt::dnn::KDTree::OrderTree | ^~~~~~~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:128:6: error: redefinition of ‘void hera::bt::dnn::KDTree::update_n_elems(ssize_t, int)’ 128 | void hera::bt::dnn::KDTree::update_n_elems(ssize_t idx, const int delta) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:128:6: note: ‘void hera::bt::dnn::KDTree::update_n_elems(ssize_t, int)’ previously declared here 128 | void hera::bt::dnn::KDTree::update_n_elems(ssize_t idx, const int delta) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:143:6: error: redefinition of ‘void hera::bt::dnn::KDTree::increase_n_elems(ssize_t)’ 143 | void hera::bt::dnn::KDTree::increase_n_elems(const ssize_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:143:6: note: ‘void hera::bt::dnn::KDTree::increase_n_elems(ssize_t)’ previously declared here 143 | void hera::bt::dnn::KDTree::increase_n_elems(const ssize_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:149:6: error: redefinition of ‘void hera::bt::dnn::KDTree::decrease_n_elems(ssize_t)’ 149 | void hera::bt::dnn::KDTree::decrease_n_elems(const ssize_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:149:6: note: ‘void hera::bt::dnn::KDTree::decrease_n_elems(ssize_t)’ previously declared here 149 | void hera::bt::dnn::KDTree::decrease_n_elems(const ssize_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:155:6: error: redefinition of ‘void hera::bt::dnn::KDTree::init_n_elems()’ 155 | void hera::bt::dnn::KDTree::init_n_elems() | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:155:6: note: ‘void hera::bt::dnn::KDTree::init_n_elems()’ previously declared here 155 | void hera::bt::dnn::KDTree::init_n_elems() | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:165:6: error: redefinition of ‘void hera::bt::dnn::KDTree::search(PointHandle, ResultsFunctor&) const’ 165 | void hera::bt::dnn::KDTree::search(PointHandle q, ResultsFunctor& rf) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:165:6: note: ‘void hera::bt::dnn::KDTree::search(PointHandle, ResultsFunctor&) const’ previously declared here 165 | void hera::bt::dnn::KDTree::search(PointHandle q, ResultsFunctor& rf) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:230:51: error: redefinition of ‘hera::bt::dnn::KDTree::HandleDistance hera::bt::dnn::KDTree::find(PointHandle) const’ 230 | typename hera::bt::dnn::KDTree::HandleDistance hera::bt::dnn::KDTree::find(PointHandle q) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:230:51: note: ‘hera::bt::dnn::KDTree::HandleDistance hera::bt::dnn::KDTree::find(PointHandle) const’ previously declared here 230 | typename hera::bt::dnn::KDTree::HandleDistance hera::bt::dnn::KDTree::find(PointHandle q) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:238:43: error: redefinition of ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findR(PointHandle, DistanceType) const’ 238 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findR(PointHandle q, DistanceType r) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:238:43: note: ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findR(PointHandle, DistanceType) const’ previously declared here 238 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findR(PointHandle q, DistanceType r) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:247:43: error: redefinition of ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findFirstR(PointHandle, DistanceType) const’ 247 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findFirstR(PointHandle q, DistanceType r) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:247:43: note: ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findFirstR(PointHandle, DistanceType) const’ previously declared here 247 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findFirstR(PointHandle q, DistanceType r) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:255:43: error: redefinition of ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findK(PointHandle, size_t) const’ 255 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findK(PointHandle q, size_t k) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:255:43: note: ‘hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findK(PointHandle, size_t) const’ previously declared here 255 | typename hera::bt::dnn::KDTree::Result hera::bt::dnn::KDTree::findK(PointHandle q, size_t k) const | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:265:34: error: redefinition of ‘struct hera::bt::dnn::KDTree::CoordinateComparison’ 265 | struct hera::bt::dnn::KDTree::CoordinateComparison | ^~~~~~~~~~~~~~~~~~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:265:34: note: previous definition of ‘struct hera::bt::dnn::KDTree::CoordinateComparison’ 265 | struct hera::bt::dnn::KDTree::CoordinateComparison | ^~~~~~~~~~~~~~~~~~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:282:6: error: redefinition of ‘void hera::bt::dnn::KDTree::delete_point(size_t)’ 282 | void hera::bt::dnn::KDTree::delete_point(const size_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:282:6: note: ‘void hera::bt::dnn::KDTree::delete_point(size_t)’ previously declared here 282 | void hera::bt::dnn::KDTree::delete_point(const size_t idx) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:292:6: error: redefinition of ‘void hera::bt::dnn::KDTree::delete_point(PointHandle)’ 292 | void hera::bt::dnn::KDTree::delete_point(PointHandle p) | ^~~~ /usr/include/hera/bottleneck/dnn/local/kd-tree.hpp:292:6: note: ‘void hera::bt::dnn::KDTree::delete_point(PointHandle)’ previously declared here 292 | void hera::bt::dnn::KDTree::delete_point(PointHandle p) | ^~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:26: /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:10: error: variable or field ‘shuffle’ declared void 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:18: error: ‘mpi’ has not been declared 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:37: error: ‘world’ was not declared in this scope 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:54: error: expected primary-expression before ‘&’ token 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:56: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~ | std::data In file included from /usr/include/c++/12/vector:67, from /usr/include/hera/bottleneck/basic_defs_bt.h:37: /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:69: error: expected primary-expression before ‘&’ token 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:71: error: ‘rng’ was not declared in this scope 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:76: error: expected primary-expression before ‘const’ 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:14:112: error: expected primary-expression before ‘empty’ 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:10: error: variable or field ‘shuffle’ declared void 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:18: error: ‘mpi’ has not been declared 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:37: error: ‘world’ was not declared in this scope 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:54: error: expected primary-expression before ‘&’ token 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:56: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~ | std::data /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:69: error: expected primary-expression before ‘&’ token 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:17:71: error: ‘rng’ was not declared in this scope 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:1: error: variable or field ‘shuffle’ declared void 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:24: error: ‘mpi’ has not been declared 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:43: error: ‘world’ was not declared in this scope 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:60: error: expected primary-expression before ‘&’ token 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:62: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~ | std::data /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:75: error: expected primary-expression before ‘&’ token 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:77: error: ‘rng’ was not declared in this scope 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:82: error: expected primary-expression before ‘const’ 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ /usr/include/hera/bottleneck/dnn/parallel/utils.h:28:118: error: expected primary-expression before ‘empty’ 28 | hera::bt::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ In file included from /usr/include/hera/wasserstein/basic_defs_ws.h:48, from /usr/include/hera/wasserstein/auction_oracle_base.h:37, from /usr/include/hera/wasserstein/auction_oracle.h:35, from /tmp/Y8VHGeLc2q/dump1.h:29: /usr/include/hera/wasserstein/hera_infinity.h:16:27: error: redefinition of ‘template constexpr Real hera::get_infinity()’ 16 | inline constexpr Real get_infinity() | ^~~~~~~~~~~~ /usr/include/hera/bottleneck/basic_defs_bt.h:57:10: note: ‘template Real hera::get_infinity()’ previously declared here 57 | Real get_infinity() | ^~~~~~~~~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:38: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:50:27: error: ‘IdxValPair’ does not name a type 50 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:50:37: error: expected ‘,’ or ‘...’ before ‘<’ token 50 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: In member function ‘bool ws::CompPairsBySecondStruct::operator()(int) const’: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:52:16: error: ‘a’ was not declared in this scope 52 | return a.second < b.second; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:52:27: error: ‘b’ was not declared in this scope 52 | return a.second < b.second; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: At global scope: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:59:27: error: ‘IdxValPair’ does not name a type 59 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:59:37: error: expected ‘,’ or ‘...’ before ‘<’ token 59 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: In member function ‘bool ws::CompPairsBySecondGreaterStruct::operator()(int) const’: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:61:16: error: ‘a’ was not declared in this scope 61 | return a.second > b.second; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:61:27: error: ‘b’ was not declared in this scope 61 | return a.second > b.second; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: At global scope: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:67:27: error: ‘IdxValPair’ does not name a type 67 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:67:37: error: expected ‘,’ or ‘...’ before ‘<’ token 67 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: In member function ‘bool ws::CompPairsBySecondLexStruct::operator()(int) const’: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:69:16: error: ‘a’ was not declared in this scope 69 | return a.second < b.second or (a.second == b.second and a.first > b.first); | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:69:27: error: ‘b’ was not declared in this scope 69 | return a.second < b.second or (a.second == b.second and a.first > b.first); | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: At global scope: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:75:27: error: ‘IdxValPair’ does not name a type 75 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:75:37: error: expected ‘,’ or ‘...’ before ‘<’ token 75 | bool operator()(const IdxValPair& a, const IdxValPair& b) const | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: In member function ‘bool ws::CompPairsBySecondLexGreaterStruct::operator()(int) const’: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:77:16: error: ‘a’ was not declared in this scope 77 | return a.second > b.second or (a.second == b.second and a.first > b.first); | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:77:27: error: ‘b’ was not declared in this scope 77 | return a.second > b.second or (a.second == b.second and a.first > b.first); | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h: At global scope: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:81:33: error: ‘IdxType’ was not declared in this scope; did you mean ‘hera::ws::IdxType’? 81 | using ItemsTimePair = std::pair; | ^~~~~~~ | hera::ws::IdxType /usr/include/hera/wasserstein/basic_defs_ws.h:94:11: note: ‘hera::ws::IdxType’ declared here 94 | using IdxType = int; | ^~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:81:45: error: template argument 1 is invalid 81 | using ItemsTimePair = std::pair; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:82:30: error: ‘ItemsTimePair’ was not declared in this scope 82 | using UpdateList = std::list; | ^~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:82:43: error: template argument 1 is invalid 82 | using UpdateList = std::list; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:82:43: error: template argument 2 is invalid /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:83:24: error: ‘UpdateList’ does not name a type 83 | using UpdateListIter = UpdateList::iterator; | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:88:44: error: ‘IdxValPair’ was not declared in this scope; did you mean ‘hera::ws::IdxValPair’? 88 | using LossesHeap = boost::heap::d_ary_heap, boost::heap::arity<2>, boost::heap::mutable_, boost::heap::compare>>; | ^~~~~~~~~~ | hera::ws::IdxValPair /usr/include/hera/wasserstein/basic_defs_ws.h:99:11: note: ‘hera::ws::IdxValPair’ declared here 99 | using IdxValPair = std::pair; | ^~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:88:59: error: template argument 1 is invalid 88 | using LossesHeap = boost::heap::d_ary_heap, boost::heap::arity<2>, boost::heap::mutable_, boost::heap::compare>>; | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:142:59: error: expected template-name before ‘<’ token 142 | struct AuctionOracleLazyHeapRestricted : AuctionOracleBase { | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:142:59: error: expected ‘{’ before ‘<’ token In file included from /tmp/Y8VHGeLc2q/dump1.h:39: /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: error: ‘DiagramPoint’ was not declared in this scope 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: note: suggested alternatives: /usr/include/hera/bottleneck/basic_defs_bt.h:104:16: note: ‘hera::bt::DiagramPoint’ 104 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/basic_defs_ws.h:143:12: note: ‘hera::ws::DiagramPoint’ 143 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:103: error: template argument 1 is invalid 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:103: error: template argument 2 is invalid /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: error: ‘DiagramPoint’ was not declared in this scope 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: note: suggested alternatives: /usr/include/hera/bottleneck/basic_defs_bt.h:104:16: note: ‘hera::bt::DiagramPoint’ 104 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/basic_defs_ws.h:143:12: note: ‘hera::ws::DiagramPoint’ 143 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:107: error: template argument 1 is invalid 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:107: error: template argument 2 is invalid /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: error: ‘DiagramPoint’ was not declared in this scope 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: note: suggested alternatives: /usr/include/hera/bottleneck/basic_defs_bt.h:104:16: note: ‘hera::bt::DiagramPoint’ 104 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/basic_defs_ws.h:143:12: note: ‘hera::ws::DiagramPoint’ 143 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:107: error: template argument 1 is invalid 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:107: error: template argument 2 is invalid /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:78: error: invalid template-id 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: error: ‘DiagramPoint’ was not declared in this scope 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:90: note: suggested alternatives: /usr/include/hera/bottleneck/basic_defs_bt.h:104:16: note: ‘hera::bt::DiagramPoint’ 104 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/basic_defs_ws.h:143:12: note: ‘hera::ws::DiagramPoint’ 143 | struct DiagramPoint | ^~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:49:71: error: expected constructor, destructor, or type conversion before ‘(’ token 49 | AuctionOracleLazyHeapRestricted::AuctionOracleLazyHeapRestricted(const std::vector>& _bidders, | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:95:6: error: variable or field ‘update_queue_for_bidder’ declared void 95 | void AuctionOracleLazyHeapRestricted::update_queue_for_bidder(IdxType bidder_idx) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:95:69: error: ‘IdxType’ was not declared in this scope; did you mean ‘hera::ws::IdxType’? 95 | void AuctionOracleLazyHeapRestricted::update_queue_for_bidder(IdxType bidder_idx) | ^~~~~~~ | hera::ws::IdxType /usr/include/hera/wasserstein/basic_defs_ws.h:94:11: note: ‘hera::ws::IdxType’ declared here 94 | using IdxType = int; | ^~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:118:65: error: invalid use of incomplete type ‘struct ws::AuctionOracleLazyHeapRestricted’ 118 | void AuctionOracleLazyHeapRestricted::fill_in_losses_heap() | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:142:8: note: declaration of ‘struct ws::AuctionOracleLazyHeapRestricted’ 142 | struct AuctionOracleLazyHeapRestricted : AuctionOracleBase { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:157:73: error: invalid use of incomplete type ‘struct ws::AuctionOracleLazyHeapRestricted’ 157 | AuctionOracleLazyHeapRestricted::~AuctionOracleLazyHeapRestricted() | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:142:8: note: declaration of ‘struct ws::AuctionOracleLazyHeapRestricted’ 142 | struct AuctionOracleLazyHeapRestricted : AuctionOracleBase { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:166:6: error: variable or field ‘set_price’ declared void 166 | void AuctionOracleLazyHeapRestricted::set_price(IdxType item_idx, Real new_price) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:166:55: error: ‘IdxType’ was not declared in this scope; did you mean ‘hera::ws::IdxType’? 166 | void AuctionOracleLazyHeapRestricted::set_price(IdxType item_idx, Real new_price) | ^~~~~~~ | hera::ws::IdxType /usr/include/hera/wasserstein/basic_defs_ws.h:94:11: note: ‘hera::ws::IdxType’ declared here 94 | using IdxType = int; | ^~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:166:78: error: expected primary-expression before ‘new_price’ 166 | void AuctionOracleLazyHeapRestricted::set_price(IdxType item_idx, Real new_price) | ^~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:189:59: error: invalid use of incomplete type ‘struct ws::AuctionOracleLazyHeapRestricted’ 189 | void AuctionOracleLazyHeapRestricted::adjust_prices() | ^ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.h:142:8: note: declaration of ‘struct ws::AuctionOracleLazyHeapRestricted’ 142 | struct AuctionOracleLazyHeapRestricted : AuctionOracleBase { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:195:1: error: ‘DebugOptimalBid’ does not name a type 195 | DebugOptimalBid AuctionOracleLazyHeapRestricted::get_optimal_bid_debug(IdxType bidder_idx) | ^~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_oracle_lazy_heap.hpp:312:1: error: ‘IdxValPair’ does not name a type 312 | IdxValPair AuctionOracleLazyHeapRestricted::get_optimal_bid(const IdxType bidder_idx) | ^~~~~~~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:45: /usr/include/hera/wasserstein/auction_runner_gs.hpp:55:1: error: redefinition of ‘hera::ws::AuctionRunnerGS::AuctionRunnerGS(const PC&, const PC&, const hera::AuctionParams&)’ 55 | AuctionRunnerGS::AuctionRunnerGS(const PC& A, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/hera/wasserstein/auction_runner_gs.h:106, from /tmp/Y8VHGeLc2q/dump1.h:44: /usr/include/hera/wasserstein/auction_runner_gs.hpp:55:1: note: ‘hera::ws::AuctionRunnerGS::AuctionRunnerGS(const PC&, const PC&, const hera::AuctionParams&)’ previously declared here 55 | AuctionRunnerGS::AuctionRunnerGS(const PC& A, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:82:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::assign_item_to_bidder(hera::ws::IdxType, hera::ws::IdxType)’ 82 | void AuctionRunnerGS::assign_item_to_bidder(IdxType item_idx, IdxType bidder_idx) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:82:6: note: ‘void hera::ws::AuctionRunnerGS::assign_item_to_bidder(hera::ws::IdxType, hera::ws::IdxType)’ previously declared here 82 | void AuctionRunnerGS::assign_item_to_bidder(IdxType item_idx, IdxType bidder_idx) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:105:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::flush_assignment()’ 105 | void AuctionRunnerGS::flush_assignment() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:105:6: note: ‘void hera::ws::AuctionRunnerGS::flush_assignment()’ previously declared here 105 | void AuctionRunnerGS::flush_assignment() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:126:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::run_auction_phases(int, Real)’ 126 | void AuctionRunnerGS::run_auction_phases(const int max_num_phases, const Real _initial_epsilon) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:126:6: note: ‘void hera::ws::AuctionRunnerGS::run_auction_phases(int, Real)’ previously declared here 126 | void AuctionRunnerGS::run_auction_phases(const int max_num_phases, const Real _initial_epsilon) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:162:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::run_auction()’ 162 | void AuctionRunnerGS::run_auction() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:162:6: note: ‘void hera::ws::AuctionRunnerGS::run_auction()’ previously declared here 162 | void AuctionRunnerGS::run_auction() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:186:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::run_auction_phase()’ 186 | void AuctionRunnerGS::run_auction_phase() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:186:6: note: ‘void hera::ws::AuctionRunnerGS::run_auction_phase()’ previously declared here 186 | void AuctionRunnerGS::run_auction_phase() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:219:3: error: redefinition of ‘R hera::ws::AuctionRunnerGS::get_item_bidder_cost(size_t, size_t, bool) const’ 219 | R AuctionRunnerGS::get_item_bidder_cost(const size_t item_idx, const size_t bidder_idx, const bool tolerate_invalid_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:219:3: note: ‘R hera::ws::AuctionRunnerGS::get_item_bidder_cost(size_t, size_t, bool) const’ previously declared here 219 | R AuctionRunnerGS::get_item_bidder_cost(const size_t item_idx, const size_t bidder_idx, const bool tolerate_invalid_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:232:3: error: redefinition of ‘R hera::ws::AuctionRunnerGS::getDistanceToQthPowerInternal()’ 232 | R AuctionRunnerGS::getDistanceToQthPowerInternal() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:232:3: note: ‘R hera::ws::AuctionRunnerGS::getDistanceToQthPowerInternal()’ previously declared here 232 | R AuctionRunnerGS::getDistanceToQthPowerInternal() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:246:3: error: redefinition of ‘R hera::ws::AuctionRunnerGS::get_wasserstein_distance()’ 246 | R AuctionRunnerGS::get_wasserstein_distance() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:246:3: note: ‘R hera::ws::AuctionRunnerGS::get_wasserstein_distance()’ previously declared here 246 | R AuctionRunnerGS::get_wasserstein_distance() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:253:3: error: redefinition of ‘R hera::ws::AuctionRunnerGS::get_wasserstein_cost()’ 253 | R AuctionRunnerGS::get_wasserstein_cost() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:253:3: note: ‘R hera::ws::AuctionRunnerGS::get_wasserstein_cost()’ previously declared here 253 | R AuctionRunnerGS::get_wasserstein_cost() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:264:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::print_debug()’ 264 | void AuctionRunnerGS::print_debug() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:264:6: note: ‘void hera::ws::AuctionRunnerGS::print_debug()’ previously declared here 264 | void AuctionRunnerGS::print_debug() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:290:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::sanity_check()’ 290 | void AuctionRunnerGS::sanity_check() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:290:6: note: ‘void hera::ws::AuctionRunnerGS::sanity_check()’ previously declared here 290 | void AuctionRunnerGS::sanity_check() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:354:6: error: redefinition of ‘void hera::ws::AuctionRunnerGS::print_matching()’ 354 | void AuctionRunnerGS::print_matching() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs.hpp:354:6: note: ‘void hera::ws::AuctionRunnerGS::print_matching()’ previously declared here 354 | void AuctionRunnerGS::print_matching() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:47: /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:54:15: error: redefinition of ‘template std::ostream& hera::ws::operator<<(std::ostream&, const AuctionRunnerGaussSeidelSingleDiag&)’ 54 | std::ostream& operator<<(std::ostream& s, const AuctionRunnerGaussSeidelSingleDiag& ar) | ^~~~~~~~ In file included from /usr/include/hera/wasserstein/auction_runner_gs_single_diag.h:136, from /tmp/Y8VHGeLc2q/dump1.h:46: /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:54:15: note: ‘template std::ostream& hera::ws::operator<<(std::ostream&, const AuctionRunnerGaussSeidelSingleDiag&)’ previously declared here 54 | std::ostream& operator<<(std::ostream& s, const AuctionRunnerGaussSeidelSingleDiag& ar) | ^~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:79:1: error: redefinition of ‘hera::ws::AuctionRunnerGaussSeidelSingleDiag::AuctionRunnerGaussSeidelSingleDiag(const DgmPointVec&, const DgmPointVec&, Real, Real, Real, Real, Real, int)’ 79 | AuctionRunnerGaussSeidelSingleDiag::AuctionRunnerGaussSeidelSingleDiag(const DgmPointVec& A, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:79:1: note: ‘hera::ws::AuctionRunnerGaussSeidelSingleDiag::AuctionRunnerGaussSeidelSingleDiag(const DgmPointVec&, const DgmPointVec&, Real, Real, Real, Real, Real, int)’ previously declared here 79 | AuctionRunnerGaussSeidelSingleDiag::AuctionRunnerGaussSeidelSingleDiag(const DgmPointVec& A, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:121:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::process_diagonal_bid(const DiagonalBidR&)’ 121 | void AuctionRunnerGaussSeidelSingleDiag::process_diagonal_bid(const DiagonalBidR& bid) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:121:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::process_diagonal_bid(const DiagonalBidR&)’ previously declared here 121 | void AuctionRunnerGaussSeidelSingleDiag::process_diagonal_bid(const DiagonalBidR& bid) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:182:6: error: redefinition of ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_bidder_diagonal(size_t) const’ 182 | bool AuctionRunnerGaussSeidelSingleDiag::is_bidder_diagonal(const size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:182:6: note: ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_bidder_diagonal(size_t) const’ previously declared here 182 | bool AuctionRunnerGaussSeidelSingleDiag::is_bidder_diagonal(const size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:188:6: error: redefinition of ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_bidder_normal(size_t) const’ 188 | bool AuctionRunnerGaussSeidelSingleDiag::is_bidder_normal(const size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:188:6: note: ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_bidder_normal(size_t) const’ previously declared here 188 | bool AuctionRunnerGaussSeidelSingleDiag::is_bidder_normal(const size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:194:6: error: redefinition of ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_item_diagonal(size_t) const’ 194 | bool AuctionRunnerGaussSeidelSingleDiag::is_item_diagonal(const size_t item_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:194:6: note: ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_item_diagonal(size_t) const’ previously declared here 194 | bool AuctionRunnerGaussSeidelSingleDiag::is_item_diagonal(const size_t item_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:200:6: error: redefinition of ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_item_normal(size_t) const’ 200 | bool AuctionRunnerGaussSeidelSingleDiag::is_item_normal(const size_t item_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:200:6: note: ‘bool hera::ws::AuctionRunnerGaussSeidelSingleDiag::is_item_normal(size_t) const’ previously declared here 200 | bool AuctionRunnerGaussSeidelSingleDiag::is_item_normal(const size_t item_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:206:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::assign_item_to_bidder(hera::ws::IdxType, hera::ws::IdxType, hera::ws::IdxType, bool, bool, bool, R)’ 206 | void AuctionRunnerGaussSeidelSingleDiag::assign_item_to_bidder(const IdxType item_idx, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:206:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::assign_item_to_bidder(hera::ws::IdxType, hera::ws::IdxType, hera::ws::IdxType, bool, bool, bool, R)’ previously declared here 206 | void AuctionRunnerGaussSeidelSingleDiag::assign_item_to_bidder(const IdxType item_idx, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:302:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::flush_assignment()’ 302 | void AuctionRunnerGaussSeidelSingleDiag::flush_assignment() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:302:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::flush_assignment()’ previously declared here 302 | void AuctionRunnerGaussSeidelSingleDiag::flush_assignment() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:330:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction_phases(int, Real)’ 330 | void AuctionRunnerGaussSeidelSingleDiag::run_auction_phases(const int max_num_phases, const Real _initial_epsilon) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:330:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction_phases(int, Real)’ previously declared here 330 | void AuctionRunnerGaussSeidelSingleDiag::run_auction_phases(const int max_num_phases, const Real _initial_epsilon) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:367:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction()’ 367 | void AuctionRunnerGaussSeidelSingleDiag::run_auction() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:367:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction()’ previously declared here 367 | void AuctionRunnerGaussSeidelSingleDiag::run_auction() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:381:11: error: redefinition of ‘hera::ws::OwnerType hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_owner_type(size_t) const’ 381 | OwnerType AuctionRunnerGaussSeidelSingleDiag::get_owner_type(size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:381:11: note: ‘hera::ws::OwnerType hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_owner_type(size_t) const’ previously declared here 381 | OwnerType AuctionRunnerGaussSeidelSingleDiag::get_owner_type(size_t bidder_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:393:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction_phase()’ 393 | void AuctionRunnerGaussSeidelSingleDiag::run_auction_phase() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:393:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::run_auction_phase()’ previously declared here 393 | void AuctionRunnerGaussSeidelSingleDiag::run_auction_phase() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:445:3: error: redefinition of ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_item_bidder_cost(size_t, size_t, bool) const’ 445 | R AuctionRunnerGaussSeidelSingleDiag::get_item_bidder_cost(size_t item_idx, size_t bidder_idx, const bool tolerate_invalid_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:445:3: note: ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_item_bidder_cost(size_t, size_t, bool) const’ previously declared here 445 | R AuctionRunnerGaussSeidelSingleDiag::get_item_bidder_cost(size_t item_idx, size_t bidder_idx, const bool tolerate_invalid_idx) const | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:465:3: error: redefinition of ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::getDistanceToQthPowerInternal()’ 465 | R AuctionRunnerGaussSeidelSingleDiag::getDistanceToQthPowerInternal() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:465:3: note: ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::getDistanceToQthPowerInternal()’ previously declared here 465 | R AuctionRunnerGaussSeidelSingleDiag::getDistanceToQthPowerInternal() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:477:3: error: redefinition of ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_distance()’ 477 | R AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_distance() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:477:3: note: ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_distance()’ previously declared here 477 | R AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_distance() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:483:3: error: redefinition of ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_cost()’ 483 | R AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_cost() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:483:3: note: ‘R hera::ws::AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_cost()’ previously declared here 483 | R AuctionRunnerGaussSeidelSingleDiag::get_wasserstein_cost() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:495:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::print_debug()’ 495 | void AuctionRunnerGaussSeidelSingleDiag::print_debug() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:495:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::print_debug()’ previously declared here 495 | void AuctionRunnerGaussSeidelSingleDiag::print_debug() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:520:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::sanity_check()’ 520 | void AuctionRunnerGaussSeidelSingleDiag::sanity_check() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:520:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::sanity_check()’ previously declared here 520 | void AuctionRunnerGaussSeidelSingleDiag::sanity_check() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:612:6: error: redefinition of ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::print_matching()’ 612 | void AuctionRunnerGaussSeidelSingleDiag::print_matching() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_gs_single_diag.hpp:612:6: note: ‘void hera::ws::AuctionRunnerGaussSeidelSingleDiag::print_matching()’ previously declared here 612 | void AuctionRunnerGaussSeidelSingleDiag::print_matching() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:58: /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:12:1: error: redefinition of ‘hera::ws::dnn::KDTree::KDTree(const Traits&, HandleContainer&&, double)’ 12 | hera::ws::dnn::KDTree:: | ^~~~ In file included from /usr/include/hera/wasserstein/dnn/local/kd-tree.h:95, from /usr/include/hera/wasserstein/auction_oracle_kdtree_restricted.h:44, from /usr/include/hera/wasserstein/auction_oracle.h:36: /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:12:1: note: ‘hera::ws::dnn::KDTree::KDTree(const Traits&, HandleContainer&&, double)’ previously declared here 12 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:19:1: error: redefinition of ‘hera::ws::dnn::KDTree::KDTree(const Traits&, const Range&, double)’ 19 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:19:1: note: ‘hera::ws::dnn::KDTree::KDTree(const Traits&, const Range&, double)’ previously declared here 19 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:30:1: error: redefinition of ‘void hera::ws::dnn::KDTree::init(const Range&)’ 30 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:30:1: note: ‘void hera::ws::dnn::KDTree::init(const Range&)’ previously declared here 30 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:44:1: error: redefinition of ‘void hera::ws::dnn::KDTree::init()’ 44 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:44:1: note: ‘void hera::ws::dnn::KDTree::init()’ previously declared here 44 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:64:27: error: redefinition of ‘struct hera::ws::dnn::KDTree::OrderTree’ 64 | hera::ws::dnn::KDTree::OrderTree | ^~~~~~~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:64:27: note: previous definition of ‘struct hera::ws::dnn::KDTree::OrderTree’ 64 | hera::ws::dnn::KDTree::OrderTree | ^~~~~~~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:117:1: error: redefinition of ‘void hera::ws::dnn::KDTree::search(PointHandle, ResultsFunctor&) const’ 117 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:117:1: note: ‘void hera::ws::dnn::KDTree::search(PointHandle, ResultsFunctor&) const’ previously declared here 117 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:168:1: error: redefinition of ‘void hera::ws::dnn::KDTree::adjust_weights(DistanceType)’ 168 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:168:1: note: ‘void hera::ws::dnn::KDTree::adjust_weights(DistanceType)’ previously declared here 168 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:181:1: error: redefinition of ‘void hera::ws::dnn::KDTree::change_weight(PointHandle, DistanceType)’ 181 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:181:1: note: ‘void hera::ws::dnn::KDTree::change_weight(PointHandle, DistanceType)’ previously declared here 181 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:265:1: error: redefinition of ‘hera::ws::dnn::KDTree::HandleDistance hera::ws::dnn::KDTree::find(PointHandle) const’ 265 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:265:1: note: ‘hera::ws::dnn::KDTree::HandleDistance hera::ws::dnn::KDTree::find(PointHandle) const’ previously declared here 265 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:275:1: error: redefinition of ‘hera::ws::dnn::KDTree::Result hera::ws::dnn::KDTree::findR(PointHandle, DistanceType) const’ 275 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:275:1: note: ‘hera::ws::dnn::KDTree::Result hera::ws::dnn::KDTree::findR(PointHandle, DistanceType) const’ previously declared here 275 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:286:1: error: redefinition of ‘hera::ws::dnn::KDTree::Result hera::ws::dnn::KDTree::findK(PointHandle, size_t) const’ 286 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:286:1: note: ‘hera::ws::dnn::KDTree::Result hera::ws::dnn::KDTree::findK(PointHandle, size_t) const’ previously declared here 286 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:297:34: error: redefinition of ‘struct hera::ws::dnn::KDTree::CoordinateComparison’ 297 | struct hera::ws::dnn::KDTree::CoordinateComparison | ^~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:297:34: note: previous definition of ‘struct hera::ws::dnn::KDTree::CoordinateComparison’ 297 | struct hera::ws::dnn::KDTree::CoordinateComparison | ^~~~~~~~~~~~~~~~~~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:315:1: error: redefinition of ‘void hera::ws::dnn::KDTree::printWeights()’ 315 | hera::ws::dnn::KDTree:: | ^~~~ /usr/include/hera/wasserstein/dnn/local/kd-tree.hpp:315:1: note: ‘void hera::ws::dnn::KDTree::printWeights()’ previously declared here 315 | hera::ws::dnn::KDTree:: | ^~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:61: /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:10: error: variable or field ‘shuffle’ declared void 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:18: error: ‘mpi’ has not been declared 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:37: error: ‘world’ was not declared in this scope 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:54: error: expected primary-expression before ‘&’ token 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:56: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~ | std::data /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:69: error: expected primary-expression before ‘&’ token 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:71: error: ‘rng’ was not declared in this scope 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:76: error: expected primary-expression before ‘const’ 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:14:112: error: expected primary-expression before ‘empty’ 14 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty = DataVector()); | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:10: error: variable or field ‘shuffle’ declared void 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:18: error: ‘mpi’ has not been declared 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:37: error: ‘world’ was not declared in this scope 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:54: error: expected primary-expression before ‘&’ token 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:56: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~~ | std::data /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:69: error: expected primary-expression before ‘&’ token 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:17:71: error: ‘rng’ was not declared in this scope 17 | void shuffle(mpi::communicator& world, DataVector& data, RNGType& rng) | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:1: error: variable or field ‘shuffle’ declared void 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:24: error: ‘mpi’ has not been declared 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:43: error: ‘world’ was not declared in this scope 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:60: error: expected primary-expression before ‘&’ token 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:62: error: ‘data’ was not declared in this scope; did you mean ‘std::data’? 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~ | std::data /usr/include/c++/12/bits/range_access.h:343:5: note: ‘std::data’ declared here 343 | data(initializer_list<_Tp> __il) noexcept | ^~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:75: error: expected primary-expression before ‘&’ token 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:77: error: ‘rng’ was not declared in this scope 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:82: error: expected primary-expression before ‘const’ 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ /usr/include/hera/wasserstein/dnn/parallel/utils.h:28:118: error: expected primary-expression before ‘empty’ 28 | hera::ws::dnn::shuffle(mpi::communicator& world, DataVector& data, RNGType& rng, const SwapFunctor& swap, DataVector empty) | ^~~~~ In file included from /tmp/Y8VHGeLc2q/dump1.h:65: /usr/include/hera/wasserstein/wasserstein.h:48:32: error: redefinition of default argument for ‘class PointType_’ 48 | template().begin())>::type > | ^~~~~ In file included from /usr/include/hera/bottleneck/bottleneck.h:39: /usr/include/hera/bottleneck/diagram_traits.h:6:32: note: original definition appeared here 6 | template().begin())>::type > | ^~~~~ In file included from /usr/include/hera/wasserstein/auction_runner_jac.h:177, from /tmp/Y8VHGeLc2q/dump1.h:48: /usr/include/hera/wasserstein/auction_runner_jac.hpp: In instantiation of ‘hera::ws::AuctionRunnerJac::AuctionRunnerJac(const PointContainer&, const PointContainer&, const hera::AuctionParams&) [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreePureGeom >; PointContainer_ = hera::ws::dnn::DynamicPointVector; PointContainer = hera::ws::dnn::DynamicPointVector]’: /usr/include/hera/wasserstein/wasserstein_pure_geom.hpp:71:83: required from here /usr/include/hera/wasserstein/auction_runner_jac.hpp:78:83: error: ‘const hera::ws::AuctionRunnerJac >, hera::ws::dnn::DynamicPointVector >::DgmPoint’ {aka ‘const struct hera::ws::dnn::DynamicPointVector::PointType’} has no member named ‘persistence_lp’ 78 | return ps + std::pow(item.persistence_lp(params.internal_p), params.wasserstein_power); | ~~~~~^~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_jac.hpp:85:87: error: ‘const hera::ws::AuctionRunnerJac >, hera::ws::dnn::DynamicPointVector >::DgmPoint’ {aka ‘const struct hera::ws::dnn::DynamicPointVector::PointType’} has no member named ‘persistence_lp’ 85 | return ps + std::pow(bidder.persistence_lp(params.internal_p), params.wasserstein_power); | ~~~~~~~^~~~~~~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_jac.hpp:97:19: error: ‘const struct hera::ws::dnn::DynamicPointVector::PointType’ has no member named ‘is_normal’ 97 | if (p.is_normal()) { | ~~^~~~~~~~~ /usr/include/hera/wasserstein/auction_runner_jac.hpp: In instantiation of ‘hera::ws::AuctionRunnerJac::Real hera::ws::AuctionRunnerJac::get_cost_to_diagonal(const DgmPoint&) const [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreePureGeom >; PointContainer_ = hera::ws::dnn::DynamicPointVector; Real = double; DgmPoint = hera::ws::dnn::DynamicPointVector::PointType]’: /usr/include/hera/wasserstein/auction_runner_jac.hpp:392:43: required from ‘void hera::ws::AuctionRunnerJac::remove_unassigned_bidder(size_t) [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreePureGeom >; PointContainer_ = hera::ws::dnn::DynamicPointVector; size_t = unsigned int]’ /usr/include/hera/wasserstein/auction_runner_jac.hpp:150:9: required from ‘void hera::ws::AuctionRunnerJac::assign_item_to_bidder(hera::ws::IdxType, hera::ws::IdxType) [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreePureGeom >; PointContainer_ = hera::ws::dnn::DynamicPointVector; hera::ws::IdxType = int]’ /usr/include/hera/wasserstein/auction_runner_jac.hpp:345:13: required from ‘void hera::ws::AuctionRunnerJac::run_auction() [with RealType_ = double; AuctionOracle_ = hera::ws::AuctionOracleKDTreePureGeom >; PointContainer_ = hera::ws::dnn::DynamicPointVector]’ /usr/include/hera/wasserstein/wasserstein_pure_geom.hpp:72:28: required from here /usr/include/hera/wasserstein/auction_runner_jac.hpp:125:28: error: ‘const hera::ws::AuctionRunnerJac >, hera::ws::dnn::DynamicPointVector >::DgmPoint’ {aka ‘const struct hera::ws::dnn::DynamicPointVector::PointType’} has no member named ‘persistence_lp’ 125 | return std::pow(pt.persistence_lp(internal_p), wasserstein_power); | ~~~^~~~~~~~~~~~~~