From 952abe54cc224ca2dbd4d4fe1ab6ed0e022f5609 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Tue, 22 Aug 2023 19:26:20 +0200 Subject: [PATCH] m_trafo map -> vec, as we need to preserve sorting --- Base/Axis/Scale.cpp | 28 ++++++++++++++++++++-- Base/Axis/Scale.h | 5 ++-- Device/Detector/FlatDetector.cpp | 4 ++-- auto/Wrap/libBornAgainBase_wrap.cpp | 36 ++++++++++++++--------------- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/Base/Axis/Scale.cpp b/Base/Axis/Scale.cpp index 393062a1837..25c19a96138 100644 --- a/Base/Axis/Scale.cpp +++ b/Base/Axis/Scale.cpp @@ -21,6 +21,22 @@ #include <stdexcept> using std::numbers::pi; +namespace { + +trafo_map_t::const_iterator find(std::string label, const trafo_map_t& trafos) +{ + for (trafo_map_t::const_iterator e = trafos.cbegin(); e != trafos.cend(); ++e) + if (e->first == label) { + std::cerr << "DEBUG FOUND " << label << std::endl; + return e; + } + std::cerr << "DEBUG NOT FOUND " << label << std::endl; + return trafos.cend(); +} + +} // namespace + + Scale::Scale(std::vector<Bin1D> bins, trafo_map_t trafos) : m_bins(std::move(bins)) , m_trafos(std::move(trafos)) @@ -49,6 +65,11 @@ Scale::Scale(const Coordinate& coord, std::vector<Bin1D> bins) { } +Scale* Scale::clone() const +{ + return new Scale(m_bins, m_trafos); +} + void Scale::setTrafos(trafo_map_t trafos) { m_trafos = std::move(trafos); @@ -227,10 +248,13 @@ Scale Scale::plottableScale(std::string label) const ASSERT(!m_trafos.empty()); trafo_map_t::const_iterator entry; if (label.empty()) { + std::cerr << "DEBUG A" << std::endl; entry = m_trafos.cbegin(); + label = entry->first; } else { - entry = m_trafos.find(label); - if (entry == m_trafos.end()) + std::cerr << "DEBUG B" << std::endl; + entry = find(label, m_trafos); + if (entry == m_trafos.cend()) throw std::runtime_error("Scale::plottableScale called with unknown label '" + label + "';" + " available labels are: " + availableLabels()); } diff --git a/Base/Axis/Scale.h b/Base/Axis/Scale.h index d2a5bbf9c0e..34919c46028 100644 --- a/Base/Axis/Scale.h +++ b/Base/Axis/Scale.h @@ -18,13 +18,12 @@ #include "Base/Axis/Bin.h" #include "Base/Axis/Coordinate.h" #include <functional> -#include <map> #include <string> #include <utility> #include <vector> using trafo_t = std::function<double(double)>; -using trafo_map_t = std::map<std::string, std::function<double(double)>>; +using trafo_map_t = std::vector<std::pair<std::string, std::function<double(double)>>>; //! Abstract base class for one-dimensional axes. @@ -32,7 +31,7 @@ class Scale { public: Scale(std::vector<Bin1D> bins, trafo_map_t trafos); Scale(const Coordinate& coord, std::vector<Bin1D> bins); - Scale* clone() const { return new Scale(*this); } + Scale* clone() const; void setTrafos(trafo_map_t trafos); diff --git a/Device/Detector/FlatDetector.cpp b/Device/Detector/FlatDetector.cpp index ed8ca5e45e7..f0f50231347 100644 --- a/Device/Detector/FlatDetector.cpp +++ b/Device/Detector/FlatDetector.cpp @@ -80,7 +80,7 @@ FlatDetector::FlatDetector(size_t nxbins, size_t nybins, double width, double he const R3 q = kf - ki; return -q.y(); }}, - {"u (mm)", [=](double u) -> double { return u; }}, + {"u (mm)", [](double u) -> double { return u; }}, {"nxbins", [=](double u) -> double { return nxbins / width * u; }}, {"phi_f (deg)", [=](double u) -> double { @@ -96,7 +96,7 @@ FlatDetector::FlatDetector(size_t nxbins, size_t nybins, double width, double he const R3 q = kf - ki; return q.z(); }}, - {"v (mm)", [=](double v) -> double { return v; }}, + {"v (mm)", [](double v) -> double { return v; }}, {"nybins", [=](double v) -> double { return nybins / height * v; }}, {"alpha_f (deg)", [=](double v) -> double { diff --git a/auto/Wrap/libBornAgainBase_wrap.cpp b/auto/Wrap/libBornAgainBase_wrap.cpp index 6caa4bfee9f..d0683017207 100644 --- a/auto/Wrap/libBornAgainBase_wrap.cpp +++ b/auto/Wrap/libBornAgainBase_wrap.cpp @@ -3424,15 +3424,15 @@ namespace Swig { #define SWIGTYPE_p_std__invalid_argument swig_types[35] #define SWIGTYPE_p_std__lessT_std__string_t swig_types[36] #define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[37] -#define SWIGTYPE_p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t swig_types[38] -#define SWIGTYPE_p_std__optionalT_Bin1D_t swig_types[39] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[40] -#define SWIGTYPE_p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t swig_types[41] -#define SWIGTYPE_p_std__vectorT_Scale_const_p_std__allocatorT_Scale_const_p_t_t swig_types[42] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[43] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[44] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[45] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[46] +#define SWIGTYPE_p_std__optionalT_Bin1D_t swig_types[38] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[39] +#define SWIGTYPE_p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t swig_types[40] +#define SWIGTYPE_p_std__vectorT_Scale_const_p_std__allocatorT_Scale_const_p_t_t swig_types[41] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[42] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[43] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[44] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[45] +#define SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t swig_types[46] #define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[47] #define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[48] #define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[49] @@ -25783,7 +25783,7 @@ SWIGINTERN PyObject *Bin1D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject SWIGINTERN PyObject *_wrap_new_Scale__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; SwigValueWrapper< std::vector< Bin1D,std::allocator< Bin1D > > > arg1 ; - SwigValueWrapper< std::map< std::string,std::function< double (double) >,std::less< std::string >,std::allocator< std::pair< std::string const,std::function< double (double) > > > > > arg2 ; + SwigValueWrapper< std::vector< std::pair< std::string,std::function< double (double) > >,std::allocator< std::pair< std::string,std::function< double (double) > > > > > arg2 ; void *argp1 ; int res1 = 0 ; void *argp2 ; @@ -25805,7 +25805,7 @@ SWIGINTERN PyObject *_wrap_new_Scale__SWIG_0(PyObject *self, Py_ssize_t nobjs, P } } { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, 0 | 0); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Scale" "', argument " "2"" of type '" "trafo_map_t""'"); } @@ -25898,7 +25898,7 @@ SWIGINTERN PyObject *_wrap_new_Scale(PyObject *self, PyObject *args) { int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t, SWIG_POINTER_NO_NULL | 0); _v = SWIG_CheckState(res); if (_v) { - int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, SWIG_POINTER_NO_NULL | 0); + int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, SWIG_POINTER_NO_NULL | 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_new_Scale__SWIG_0(self, argc, argv); @@ -25963,7 +25963,7 @@ fail: SWIGINTERN PyObject *_wrap_Scale_setTrafos(PyObject *self, PyObject *args) { PyObject *resultobj = 0; Scale *arg1 = (Scale *) 0 ; - SwigValueWrapper< std::map< std::string,std::function< double (double) >,std::less< std::string >,std::allocator< std::pair< std::string const,std::function< double (double) > > > > > arg2 ; + SwigValueWrapper< std::vector< std::pair< std::string,std::function< double (double) > >,std::allocator< std::pair< std::string,std::function< double (double) > > > > > arg2 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; @@ -25977,7 +25977,7 @@ SWIGINTERN PyObject *_wrap_Scale_setTrafos(PyObject *self, PyObject *args) { } arg1 = reinterpret_cast< Scale * >(argp1); { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, 0 | 0); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Scale_setTrafos" "', argument " "2"" of type '" "trafo_map_t""'"); } @@ -30679,7 +30679,6 @@ static swig_type_info _swigt__p_std__functionT_double_fdoubleF_t = {"_p_std__fun static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__lessT_std__string_t = {"_p_std__lessT_std__string_t", "std::less< std::string > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t = {"_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t", "std::map< std::string,double,std::less< std::string >,std::allocator< std::pair< std::string const,double > > > *|std::map< std::string,double > *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t = {"_p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t", "trafo_map_t *|std::map< std::string,std::function< double (double) >,std::less< std::string >,std::allocator< std::pair< std::string const,std::function< double (double) > > > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__optionalT_Bin1D_t = {"_p_std__optionalT_Bin1D_t", "std::optional< Bin1D > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__pairT_double_double_t = {"_p_std__pairT_double_double_t", "std::pair< double,double > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t = {"_p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t", "std::vector< Bin1D,std::allocator< Bin1D > > *", 0, 0, (void*)0, 0}; @@ -30688,6 +30687,7 @@ static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t = static swig_type_info _swigt__p_std__vectorT_int_std__allocatorT_int_t_t = {"_p_std__vectorT_int_std__allocatorT_int_t_t", "std::vector< int,std::allocator< int > > *|std::vector< int > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t = {"_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t", "std::vector< std::complex< double >,std::allocator< std::complex< double > > > *|std::vector< std::complex< double > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t = {"_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t", "std::vector< std::pair< double,double >,std::allocator< std::pair< double,double > > > *|std::vector< std::pair< double,double > > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t = {"_p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t", "trafo_map_t *|std::vector< std::pair< std::string,std::function< double (double) > >,std::allocator< std::pair< std::string,std::function< double (double) > > > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t = {"_p_std__vectorT_std__string_std__allocatorT_std__string_t_t", "std::vector< std::string,std::allocator< std::string > > *|std::vector< std::string > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t = {"_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t", "std::vector< std::vector< double,std::allocator< double > > > *|std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *|std::vector< std::vector< double > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t = {"_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t", "std::vector< std::vector< int,std::allocator< int > > > *|std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *|std::vector< std::vector< int > > *", 0, 0, (void*)0, 0}; @@ -30739,7 +30739,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_std__invalid_argument, &_swigt__p_std__lessT_std__string_t, &_swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t, - &_swigt__p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, &_swigt__p_std__optionalT_Bin1D_t, &_swigt__p_std__pairT_double_double_t, &_swigt__p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t, @@ -30748,6 +30747,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, &_swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, &_swigt__p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t, + &_swigt__p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, &_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, &_swigt__p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, &_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, @@ -30799,7 +30799,6 @@ static swig_cast_info _swigc__p_std__functionT_double_fdoubleF_t[] = { {&_swigt static swig_cast_info _swigc__p_std__invalid_argument[] = { {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__lessT_std__string_t[] = { {&_swigt__p_std__lessT_std__string_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t[] = { {&_swigt__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t[] = { {&_swigt__p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__optionalT_Bin1D_t[] = { {&_swigt__p_std__optionalT_Bin1D_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__pairT_double_double_t[] = { {&_swigt__p_std__pairT_double_double_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t[] = { {&_swigt__p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -30808,6 +30807,7 @@ static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t[] static swig_cast_info _swigc__p_std__vectorT_int_std__allocatorT_int_t_t[] = { {&_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t[] = { {&_swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t[] = { {&_swigt__p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t[] = { {&_swigt__p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t[] = { {&_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t[] = { {&_swigt__p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t[] = { {&_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -30859,7 +30859,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_std__invalid_argument, _swigc__p_std__lessT_std__string_t, _swigc__p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t, - _swigc__p_std__mapT_std__string_std__functionT_double_fdoubleF_t_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__functionT_double_fdoubleF_t_t_t_t, _swigc__p_std__optionalT_Bin1D_t, _swigc__p_std__pairT_double_double_t, _swigc__p_std__vectorT_Bin1D_std__allocatorT_Bin1D_t_t, @@ -30868,6 +30867,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_std__vectorT_int_std__allocatorT_int_t_t, _swigc__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, _swigc__p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t, + _swigc__p_std__vectorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_std__allocatorT_std__pairT_std__string_std__functionT_double_fdoubleF_t_t_t_t, _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, _swigc__p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, -- GitLab