From abe89acca7e4921afa5d957283de5ccb3426acb3 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Wed, 12 Aug 2020 15:13:22 +0200 Subject: [PATCH] IDistribution1D: prepare for P args --- Core/Parametrization/Distributions.cpp | 6 +++ Core/Parametrization/Distributions.h | 1 + auto/Wrap/libBornAgainCore.py | 2 +- auto/Wrap/libBornAgainCore_wrap.cpp | 54 +++++++++++++------------- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/Core/Parametrization/Distributions.cpp b/Core/Parametrization/Distributions.cpp index d8b16e7277d..2495f20e983 100644 --- a/Core/Parametrization/Distributions.cpp +++ b/Core/Parametrization/Distributions.cpp @@ -32,6 +32,12 @@ bool DoubleEqual(double a, double b); // class IDistribution1D // ************************************************************************** // +IDistribution1D::IDistribution1D(const NodeMeta& meta, const std::vector<double>& PValues) + : INode(meta, PValues) +{ +} + + //! Returns equidistant samples, using intrinsic parameters, weighted with probabilityDensity(). std::vector<ParameterSample> IDistribution1D::equidistantSamples(size_t nbr_samples, diff --git a/Core/Parametrization/Distributions.h b/Core/Parametrization/Distributions.h index 1c9bfc8ee50..efbe84d1d72 100644 --- a/Core/Parametrization/Distributions.h +++ b/Core/Parametrization/Distributions.h @@ -33,6 +33,7 @@ class BA_CORE_API_ IDistribution1D : public ICloneable, public INode { public: IDistribution1D() = default; + IDistribution1D(const NodeMeta& meta, const std::vector<double>& PValues); virtual IDistribution1D* clone() const = 0; diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 45cfb893877..b070dcbdb00 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -6585,7 +6585,6 @@ class IDistribution1D(ICloneable, INode): def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr - __swig_destroy__ = _libBornAgainCore.delete_IDistribution1D def clone(self): r""" @@ -6674,6 +6673,7 @@ class IDistribution1D(ICloneable, INode): """ return _libBornAgainCore.IDistribution1D_setUnits(self, units) + __swig_destroy__ = _libBornAgainCore.delete_IDistribution1D # Register IDistribution1D in _libBornAgainCore: _libBornAgainCore.IDistribution1D_swigregister(IDistribution1D) diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index d3fbf037409..8efa357f30a 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -61180,28 +61180,6 @@ SWIGINTERN PyObject *RealParameter_swiginit(PyObject *SWIGUNUSEDPARM(self), PyOb return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_delete_IDistribution1D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IDistribution1D *arg1 = (IDistribution1D *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDistribution1D, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IDistribution1D" "', argument " "1"" of type '" "IDistribution1D *""'"); - } - arg1 = reinterpret_cast< IDistribution1D * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_IDistribution1D_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IDistribution1D *arg1 = (IDistribution1D *) 0 ; @@ -61772,6 +61750,28 @@ fail: } +SWIGINTERN PyObject *_wrap_delete_IDistribution1D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IDistribution1D *arg1 = (IDistribution1D *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDistribution1D, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IDistribution1D" "', argument " "1"" of type '" "IDistribution1D *""'"); + } + arg1 = reinterpret_cast< IDistribution1D * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *IDistribution1D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; @@ -121889,11 +121889,6 @@ static PyMethodDef SwigMethods[] = { ""}, { "RealParameter_swigregister", RealParameter_swigregister, METH_O, NULL}, { "RealParameter_swiginit", RealParameter_swiginit, METH_VARARGS, NULL}, - { "delete_IDistribution1D", _wrap_delete_IDistribution1D, METH_O, "\n" - "delete_IDistribution1D(IDistribution1D self)\n" - "virtual IDistribution1D::~IDistribution1D()\n" - "\n" - ""}, { "IDistribution1D_clone", _wrap_IDistribution1D_clone, METH_O, "\n" "IDistribution1D_clone(IDistribution1D self) -> IDistribution1D\n" "virtual IDistribution1D* IDistribution1D::clone() const =0\n" @@ -121955,6 +121950,11 @@ static PyMethodDef SwigMethods[] = { "Sets distribution units. \n" "\n" ""}, + { "delete_IDistribution1D", _wrap_delete_IDistribution1D, METH_O, "\n" + "delete_IDistribution1D(IDistribution1D self)\n" + "virtual IDistribution1D::~IDistribution1D()\n" + "\n" + ""}, { "IDistribution1D_swigregister", IDistribution1D_swigregister, METH_O, NULL}, { "new_DistributionGate", _wrap_new_DistributionGate, METH_VARARGS, "\n" "DistributionGate()\n" -- GitLab