From 451fbb995fc6f96a8495fe6b51ee7554537898b0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de> Date: Tue, 24 Nov 2020 17:19:03 +0100 Subject: [PATCH] move one include from Core to Fit.i --- Wrap/swig/libBornAgainCore.i | 3 - Wrap/swig/libBornAgainFit.i | 23 +- auto/Wrap/libBornAgainCore.py | 38 +- auto/Wrap/libBornAgainCore_wrap.cpp | 364 ++--- auto/Wrap/libBornAgainFit.py | 471 +++--- auto/Wrap/libBornAgainFit_wrap.cpp | 2223 +++++++++++++++------------ 6 files changed, 1583 insertions(+), 1539 deletions(-) diff --git a/Wrap/swig/libBornAgainCore.i b/Wrap/swig/libBornAgainCore.i index 6520b9d9486..3b9a105195f 100644 --- a/Wrap/swig/libBornAgainCore.i +++ b/Wrap/swig/libBornAgainCore.i @@ -73,7 +73,6 @@ #include "Core/Simulation/OffSpecSimulation.h" #include "Core/Simulation/SimulationFactory.h" #include "Core/Simulation/SpecularSimulation.h" -#include "Fit/Kernel/FitOptions.h" %} // The following goes verbatim from libBornAgainCore.i to libBornAgainCore_wrap.cxx. @@ -101,8 +100,6 @@ %include "BAVersion.h" -%include "Fit/Kernel/FitOptions.h" - %include "Core/Fitting/IObserver.h" %include "Core/Fitting/IterationInfo.h" %include "Core/Fitting/PyFittingCallbacks.h" diff --git a/Wrap/swig/libBornAgainFit.i b/Wrap/swig/libBornAgainFit.i index 36622f39294..73527e4e2a3 100644 --- a/Wrap/swig/libBornAgainFit.i +++ b/Wrap/swig/libBornAgainFit.i @@ -27,17 +27,17 @@ %feature("director") PyCallback; // used in extendFit.i %{ -#include "Fit/Param/RealLimits.h" -#include "Fit/Param/AttLimits.h" -#include "Fit/Param/Parameter.h" -#include "Fit/Param/Parameters.h" -#include "Fit/Minimizer/IMinimizer.h" -#include "Fit/Minimizer/MinimizerCatalog.h" +#include "Fit/Kernel/FitOptions.h" +#include "Fit/Kernel/Minimizer.h" #include "Fit/Kernel/MinimizerFactory.h" - #include "Fit/Kernel/PyCallback.h" +#include "Fit/Minimizer/IMinimizer.h" +#include "Fit/Minimizer/MinimizerCatalog.h" #include "Fit/Minimizer/MinimizerResult.h" -#include "Fit/Kernel/Minimizer.h" +#include "Fit/Param/AttLimits.h" +#include "Fit/Param/Parameter.h" +#include "Fit/Param/Parameters.h" +#include "Fit/Param/RealLimits.h" %} // The following goes verbatim from libBornAgainFit.i to libBornAgainFit_wrap.cxx. @@ -47,12 +47,13 @@ %include "Fit/Param/AttLimits.h" %include "Fit/Param/Parameter.h" %include "Fit/Param/Parameters.h" -%include "Fit/Kernel/PyCallback.h" -%include "Fit/Minimizer/MinimizerResult.h" -%include "Fit/Kernel/Minimizer.h" %include "Fit/Minimizer/IMinimizer.h" %include "Fit/Minimizer/MinimizerCatalog.h" +%include "Fit/Minimizer/MinimizerResult.h" +%include "Fit/Kernel/FitOptions.h" +%include "Fit/Kernel/Minimizer.h" %include "Fit/Kernel/MinimizerFactory.h" +%include "Fit/Kernel/PyCallback.h" %pythoncode %{ class ParametersIterator(object): diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index ac402b388a4..16366a5959f 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -3137,40 +3137,6 @@ def GetName(): def GetVersionNumber(): r"""GetVersionNumber() -> std::string""" return _libBornAgainCore.GetVersionNumber() -class FitOptions(object): - r"""Proxy of C++ FitOptions class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self): - r"""__init__(FitOptions self) -> FitOptions""" - _libBornAgainCore.FitOptions_swiginit(self, _libBornAgainCore.new_FitOptions()) - - def derivEpsilon(self): - r"""derivEpsilon(FitOptions self) -> double""" - return _libBornAgainCore.FitOptions_derivEpsilon(self) - - def setDerivEpsilon(self, deriv_epsilon): - r"""setDerivEpsilon(FitOptions self, double deriv_epsilon)""" - return _libBornAgainCore.FitOptions_setDerivEpsilon(self, deriv_epsilon) - - def stepFactor(self): - r"""stepFactor(FitOptions self) -> double""" - return _libBornAgainCore.FitOptions_stepFactor(self) - - def setStepFactor(self, step_factor): - r"""setStepFactor(FitOptions self, double step_factor)""" - return _libBornAgainCore.FitOptions_setStepFactor(self, step_factor) - __swig_destroy__ = _libBornAgainCore.delete_FitOptions - -# Register FitOptions in _libBornAgainCore: -_libBornAgainCore.FitOptions_swigregister(FitOptions) -cvar = _libBornAgainCore.cvar -major_version_number = cvar.major_version_number -minor_version_number = cvar.minor_version_number -patch_version_number = cvar.patch_version_number - class IObserver(object): r""" @@ -3200,6 +3166,10 @@ class IObserver(object): # Register IObserver in _libBornAgainCore: _libBornAgainCore.IObserver_swigregister(IObserver) +cvar = _libBornAgainCore.cvar +major_version_number = cvar.major_version_number +minor_version_number = cvar.minor_version_number +patch_version_number = cvar.patch_version_number class IObservable(object): r""" diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index c5f6fa383cd..8b478395858 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -3108,107 +3108,106 @@ namespace Swig { #define SWIGTYPE_p_DepthProbeSimulation swig_types[8] #define SWIGTYPE_p_DistributionHandler swig_types[9] #define SWIGTYPE_p_FitObjective swig_types[10] -#define SWIGTYPE_p_FitOptions swig_types[11] -#define SWIGTYPE_p_GISASSimulation swig_types[12] -#define SWIGTYPE_p_IAxis swig_types[13] -#define SWIGTYPE_p_IBackground swig_types[14] -#define SWIGTYPE_p_IBornFF swig_types[15] -#define SWIGTYPE_p_IChiSquaredModule swig_types[16] -#define SWIGTYPE_p_ICloneable swig_types[17] -#define SWIGTYPE_p_IDetector2D swig_types[18] -#define SWIGTYPE_p_IDistribution1D swig_types[19] -#define SWIGTYPE_p_IFactoryT_std__string_ISimulation_t swig_types[20] -#define SWIGTYPE_p_IFootprintFactor swig_types[21] -#define SWIGTYPE_p_IFormFactor swig_types[22] -#define SWIGTYPE_p_INode swig_types[23] -#define SWIGTYPE_p_INodeVisitor swig_types[24] -#define SWIGTYPE_p_IObservable swig_types[25] -#define SWIGTYPE_p_IObserver swig_types[26] -#define SWIGTYPE_p_IParameterized swig_types[27] -#define SWIGTYPE_p_IResolutionFunction2D swig_types[28] -#define SWIGTYPE_p_ISample swig_types[29] -#define SWIGTYPE_p_IShape2D swig_types[30] -#define SWIGTYPE_p_ISimulation swig_types[31] -#define SWIGTYPE_p_ISimulation2D swig_types[32] -#define SWIGTYPE_p_ISpecularScan swig_types[33] -#define SWIGTYPE_p_Instrument swig_types[34] -#define SWIGTYPE_p_IterationInfo swig_types[35] -#define SWIGTYPE_p_MultiLayer swig_types[36] -#define SWIGTYPE_p_OffSpecSimulation swig_types[37] -#define SWIGTYPE_p_OutputDataT_double_t swig_types[38] -#define SWIGTYPE_p_ParameterDistribution swig_types[39] -#define SWIGTYPE_p_ParameterPool swig_types[40] -#define SWIGTYPE_p_PoissonNoiseBackground swig_types[41] -#define SWIGTYPE_p_ProgressHandler__Callback_t swig_types[42] -#define SWIGTYPE_p_PyBuilderCallback swig_types[43] -#define SWIGTYPE_p_PyObserverCallback swig_types[44] -#define SWIGTYPE_p_QSpecScan swig_types[45] -#define SWIGTYPE_p_RangedDistribution swig_types[46] -#define SWIGTYPE_p_RealLimits swig_types[47] -#define SWIGTYPE_p_ScanResolution swig_types[48] -#define SWIGTYPE_p_SimulationFactory swig_types[49] -#define SWIGTYPE_p_SimulationOptions swig_types[50] -#define SWIGTYPE_p_SimulationResult swig_types[51] -#define SWIGTYPE_p_SpecularSimulation swig_types[52] -#define SWIGTYPE_p_allocator_type swig_types[53] -#define SWIGTYPE_p_char swig_types[54] -#define SWIGTYPE_p_difference_type swig_types[55] -#define SWIGTYPE_p_first_type swig_types[56] -#define SWIGTYPE_p_int swig_types[57] -#define SWIGTYPE_p_key_type swig_types[58] -#define SWIGTYPE_p_long_long swig_types[59] -#define SWIGTYPE_p_mapped_type swig_types[60] -#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[61] -#define SWIGTYPE_p_mumufit__Parameters swig_types[62] -#define SWIGTYPE_p_observer_t swig_types[63] -#define SWIGTYPE_p_p_PyObject swig_types[64] -#define SWIGTYPE_p_second_type swig_types[65] -#define SWIGTYPE_p_short swig_types[66] -#define SWIGTYPE_p_signed_char swig_types[67] -#define SWIGTYPE_p_size_type swig_types[68] -#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[69] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[70] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[71] -#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[72] -#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[73] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[74] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[75] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[76] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[77] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[78] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[79] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[80] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[81] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[82] -#define SWIGTYPE_p_std__complexT_double_t swig_types[83] -#define SWIGTYPE_p_std__functionT_ISimulation_pfF_t swig_types[84] -#define SWIGTYPE_p_std__invalid_argument swig_types[85] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[86] -#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[87] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[88] -#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[89] -#define SWIGTYPE_p_std__shared_ptrT_ISampleBuilder_t swig_types[90] -#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[91] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[92] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[93] -#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[94] -#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[95] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[96] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[97] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[98] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[99] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[100] -#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[101] -#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[102] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[103] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[104] -#define SWIGTYPE_p_unsigned_char swig_types[105] -#define SWIGTYPE_p_unsigned_int swig_types[106] -#define SWIGTYPE_p_unsigned_long_long swig_types[107] -#define SWIGTYPE_p_unsigned_short swig_types[108] -#define SWIGTYPE_p_value_type swig_types[109] -static swig_type_info *swig_types[111]; -static swig_module_info swig_module = {swig_types, 110, 0, 0, 0, 0}; +#define SWIGTYPE_p_GISASSimulation swig_types[11] +#define SWIGTYPE_p_IAxis swig_types[12] +#define SWIGTYPE_p_IBackground swig_types[13] +#define SWIGTYPE_p_IBornFF swig_types[14] +#define SWIGTYPE_p_IChiSquaredModule swig_types[15] +#define SWIGTYPE_p_ICloneable swig_types[16] +#define SWIGTYPE_p_IDetector2D swig_types[17] +#define SWIGTYPE_p_IDistribution1D swig_types[18] +#define SWIGTYPE_p_IFactoryT_std__string_ISimulation_t swig_types[19] +#define SWIGTYPE_p_IFootprintFactor swig_types[20] +#define SWIGTYPE_p_IFormFactor swig_types[21] +#define SWIGTYPE_p_INode swig_types[22] +#define SWIGTYPE_p_INodeVisitor swig_types[23] +#define SWIGTYPE_p_IObservable swig_types[24] +#define SWIGTYPE_p_IObserver swig_types[25] +#define SWIGTYPE_p_IParameterized swig_types[26] +#define SWIGTYPE_p_IResolutionFunction2D swig_types[27] +#define SWIGTYPE_p_ISample swig_types[28] +#define SWIGTYPE_p_IShape2D swig_types[29] +#define SWIGTYPE_p_ISimulation swig_types[30] +#define SWIGTYPE_p_ISimulation2D swig_types[31] +#define SWIGTYPE_p_ISpecularScan swig_types[32] +#define SWIGTYPE_p_Instrument swig_types[33] +#define SWIGTYPE_p_IterationInfo swig_types[34] +#define SWIGTYPE_p_MultiLayer swig_types[35] +#define SWIGTYPE_p_OffSpecSimulation swig_types[36] +#define SWIGTYPE_p_OutputDataT_double_t swig_types[37] +#define SWIGTYPE_p_ParameterDistribution swig_types[38] +#define SWIGTYPE_p_ParameterPool swig_types[39] +#define SWIGTYPE_p_PoissonNoiseBackground swig_types[40] +#define SWIGTYPE_p_ProgressHandler__Callback_t swig_types[41] +#define SWIGTYPE_p_PyBuilderCallback swig_types[42] +#define SWIGTYPE_p_PyObserverCallback swig_types[43] +#define SWIGTYPE_p_QSpecScan swig_types[44] +#define SWIGTYPE_p_RangedDistribution swig_types[45] +#define SWIGTYPE_p_RealLimits swig_types[46] +#define SWIGTYPE_p_ScanResolution swig_types[47] +#define SWIGTYPE_p_SimulationFactory swig_types[48] +#define SWIGTYPE_p_SimulationOptions swig_types[49] +#define SWIGTYPE_p_SimulationResult swig_types[50] +#define SWIGTYPE_p_SpecularSimulation swig_types[51] +#define SWIGTYPE_p_allocator_type swig_types[52] +#define SWIGTYPE_p_char swig_types[53] +#define SWIGTYPE_p_difference_type swig_types[54] +#define SWIGTYPE_p_first_type swig_types[55] +#define SWIGTYPE_p_int swig_types[56] +#define SWIGTYPE_p_key_type swig_types[57] +#define SWIGTYPE_p_long_long swig_types[58] +#define SWIGTYPE_p_mapped_type swig_types[59] +#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[60] +#define SWIGTYPE_p_mumufit__Parameters swig_types[61] +#define SWIGTYPE_p_observer_t swig_types[62] +#define SWIGTYPE_p_p_PyObject swig_types[63] +#define SWIGTYPE_p_second_type swig_types[64] +#define SWIGTYPE_p_short swig_types[65] +#define SWIGTYPE_p_signed_char swig_types[66] +#define SWIGTYPE_p_size_type swig_types[67] +#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[68] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[69] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[70] +#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[71] +#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[72] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[73] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[74] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[75] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[76] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[77] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[78] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[79] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[80] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[81] +#define SWIGTYPE_p_std__complexT_double_t swig_types[82] +#define SWIGTYPE_p_std__functionT_ISimulation_pfF_t swig_types[83] +#define SWIGTYPE_p_std__invalid_argument swig_types[84] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[85] +#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[86] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[87] +#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[88] +#define SWIGTYPE_p_std__shared_ptrT_ISampleBuilder_t swig_types[89] +#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[90] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[91] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[92] +#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[93] +#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[94] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[95] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[96] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[97] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[98] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[99] +#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[100] +#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[101] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[102] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[103] +#define SWIGTYPE_p_unsigned_char swig_types[104] +#define SWIGTYPE_p_unsigned_int swig_types[105] +#define SWIGTYPE_p_unsigned_long_long swig_types[106] +#define SWIGTYPE_p_unsigned_short swig_types[107] +#define SWIGTYPE_p_value_type swig_types[108] +static swig_type_info *swig_types[110]; +static swig_module_info swig_module = {swig_types, 109, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -6719,7 +6718,6 @@ SWIGINTERN void std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_ #include "Core/Simulation/OffSpecSimulation.h" #include "Core/Simulation/SimulationFactory.h" #include "Core/Simulation/SpecularSimulation.h" -#include "Fit/Kernel/FitOptions.h" SWIGINTERN BasicVector3D< double > BasicVector3D_Sl_double_Sg____add__(BasicVector3D< double > const *self,BasicVector3D< double > const &rhs){ return *(self) + rhs; } @@ -37043,156 +37041,6 @@ fail: } -SWIGINTERN PyObject *_wrap_new_FitOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *result = 0 ; - - if (!SWIG_Python_UnpackTuple(args, "new_FitOptions", 0, 0, 0)) SWIG_fail; - result = (FitOptions *)new FitOptions(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FitOptions, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitOptions_derivEpsilon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *arg1 = (FitOptions *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - double result; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_derivEpsilon" "', argument " "1"" of type '" "FitOptions const *""'"); - } - arg1 = reinterpret_cast< FitOptions * >(argp1); - result = (double)((FitOptions const *)arg1)->derivEpsilon(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitOptions_setDerivEpsilon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *arg1 = (FitOptions *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject *swig_obj[2] ; - - if (!SWIG_Python_UnpackTuple(args, "FitOptions_setDerivEpsilon", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_setDerivEpsilon" "', argument " "1"" of type '" "FitOptions *""'"); - } - arg1 = reinterpret_cast< FitOptions * >(argp1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitOptions_setDerivEpsilon" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setDerivEpsilon(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitOptions_stepFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *arg1 = (FitOptions *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - double result; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_stepFactor" "', argument " "1"" of type '" "FitOptions const *""'"); - } - arg1 = reinterpret_cast< FitOptions * >(argp1); - result = (double)((FitOptions const *)arg1)->stepFactor(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitOptions_setStepFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *arg1 = (FitOptions *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject *swig_obj[2] ; - - if (!SWIG_Python_UnpackTuple(args, "FitOptions_setStepFactor", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_setStepFactor" "', argument " "1"" of type '" "FitOptions *""'"); - } - arg1 = reinterpret_cast< FitOptions * >(argp1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitOptions_setStepFactor" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setStepFactor(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_delete_FitOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitOptions *arg1 = (FitOptions *) 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_FitOptions, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FitOptions" "', argument " "1"" of type '" "FitOptions *""'"); - } - arg1 = reinterpret_cast< FitOptions * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *FitOptions_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_FitOptions, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *FitOptions_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - return SWIG_Python_InitShadowInstance(args); -} - SWIGINTERN PyObject *_wrap_delete_IObserver(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IObserver *arg1 = (IObserver *) 0 ; @@ -43662,14 +43510,6 @@ static PyMethodDef SwigMethods[] = { { "GetPatchVersionNumber", _wrap_GetPatchVersionNumber, METH_NOARGS, "GetPatchVersionNumber() -> int"}, { "GetName", _wrap_GetName, METH_NOARGS, "GetName() -> std::string"}, { "GetVersionNumber", _wrap_GetVersionNumber, METH_NOARGS, "GetVersionNumber() -> std::string"}, - { "new_FitOptions", _wrap_new_FitOptions, METH_NOARGS, "new_FitOptions() -> FitOptions"}, - { "FitOptions_derivEpsilon", _wrap_FitOptions_derivEpsilon, METH_O, "FitOptions_derivEpsilon(FitOptions self) -> double"}, - { "FitOptions_setDerivEpsilon", _wrap_FitOptions_setDerivEpsilon, METH_VARARGS, "FitOptions_setDerivEpsilon(FitOptions self, double deriv_epsilon)"}, - { "FitOptions_stepFactor", _wrap_FitOptions_stepFactor, METH_O, "FitOptions_stepFactor(FitOptions self) -> double"}, - { "FitOptions_setStepFactor", _wrap_FitOptions_setStepFactor, METH_VARARGS, "FitOptions_setStepFactor(FitOptions self, double step_factor)"}, - { "delete_FitOptions", _wrap_delete_FitOptions, METH_O, "delete_FitOptions(FitOptions self)"}, - { "FitOptions_swigregister", FitOptions_swigregister, METH_O, NULL}, - { "FitOptions_swiginit", FitOptions_swiginit, METH_VARARGS, NULL}, { "delete_IObserver", _wrap_delete_IObserver, METH_O, "\n" "delete_IObserver(IObserver self)\n" "IObserver::~IObserver()\n" @@ -44664,7 +44504,6 @@ static swig_type_info _swigt__p_CreateItemCallback = {"_p_CreateItemCallback", " static swig_type_info _swigt__p_DepthProbeSimulation = {"_p_DepthProbeSimulation", "DepthProbeSimulation *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_DistributionHandler = {"_p_DistributionHandler", "DistributionHandler *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FitObjective = {"_p_FitObjective", "FitObjective *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_FitOptions = {"_p_FitOptions", "FitOptions *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_GISASSimulation = {"_p_GISASSimulation", "GISASSimulation *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IAxis = {"_p_IAxis", "IAxis *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IBackground = {"_p_IBackground", "IBackground *", 0, 0, (void*)0, 0}; @@ -44776,7 +44615,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_DepthProbeSimulation, &_swigt__p_DistributionHandler, &_swigt__p_FitObjective, - &_swigt__p_FitOptions, &_swigt__p_GISASSimulation, &_swigt__p_IAxis, &_swigt__p_IBackground, @@ -44888,7 +44726,6 @@ static swig_cast_info _swigc__p_CreateItemCallback[] = { {&_swigt__p_CreateItem static swig_cast_info _swigc__p_DepthProbeSimulation[] = { {&_swigt__p_DepthProbeSimulation, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_DistributionHandler[] = { {&_swigt__p_DistributionHandler, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FitObjective[] = { {&_swigt__p_FitObjective, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_FitOptions[] = { {&_swigt__p_FitOptions, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_GISASSimulation[] = { {&_swigt__p_GISASSimulation, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IAxis[] = { {&_swigt__p_IAxis, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IBackground[] = { {&_swigt__p_IBackground, 0, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_IBackground, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_IBackground, 0, 0},{0, 0, 0, 0}}; @@ -45000,7 +44837,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_DepthProbeSimulation, _swigc__p_DistributionHandler, _swigc__p_FitObjective, - _swigc__p_FitOptions, _swigc__p_GISASSimulation, _swigc__p_IAxis, _swigc__p_IBackground, diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py index f395df026e6..d7b0b9649e2 100644 --- a/auto/Wrap/libBornAgainFit.py +++ b/auto/Wrap/libBornAgainFit.py @@ -2370,86 +2370,166 @@ class Parameters(object): # Register Parameters in _libBornAgainFit: _libBornAgainFit.Parameters_swigregister(Parameters) -class PyCallback(object): +class IMinimizer(object): r""" - Base class to wrap Python callable and pass it to C++. Used in swig interface file, intended to be overloaded from Python. + Abstract base class for all kind minimizers. - C++ includes: PyCallback.h + C++ includes: IMinimizer.h """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr - SCALAR = _libBornAgainFit.PyCallback_SCALAR - - RESIDUAL = _libBornAgainFit.PyCallback_RESIDUAL - + __swig_destroy__ = _libBornAgainFit.delete_IMinimizer - def __init__(self, *args): + def minimizerName(self): r""" - __init__(PyCallback self, PyCallback::CallbackType callback_type=SCALAR) -> PyCallback - PyCallback::PyCallback(CallbackType callback_type=SCALAR) + minimizerName(IMinimizer self) -> std::string + virtual std::string IMinimizer::minimizerName() const =0 + + return name of the minimizer """ - if self.__class__ == PyCallback: - _self = None - else: - _self = self - _libBornAgainFit.PyCallback_swiginit(self, _libBornAgainFit.new_PyCallback(_self, *args)) - __swig_destroy__ = _libBornAgainFit.delete_PyCallback + return _libBornAgainFit.IMinimizer_minimizerName(self) - def callback_type(self): + def algorithmName(self): r""" - callback_type(PyCallback self) -> PyCallback::CallbackType - PyCallback::CallbackType PyCallback::callback_type() const + algorithmName(IMinimizer self) -> std::string + virtual std::string IMinimizer::algorithmName() const =0 + + return name of the minimization algorithm """ - return _libBornAgainFit.PyCallback_callback_type(self) + return _libBornAgainFit.IMinimizer_algorithmName(self) - def call_scalar(self, pars): + def minimize_scalar(self, arg2, arg3): r""" - call_scalar(PyCallback self, Parameters pars) -> double - double PyCallback::call_scalar(mumufit::Parameters pars) + minimize_scalar(IMinimizer self, fcn_scalar_t arg2, Parameters arg3) -> MinimizerResult + mumufit::MinimizerResult IMinimizer::minimize_scalar(fcn_scalar_t, mumufit::Parameters) - Call Python callable and returns its result. Intended to be overloaded in Python. + run minimization - Parameters: - ----------- + """ + return _libBornAgainFit.IMinimizer_minimize_scalar(self, arg2, arg3) - pars: - Fit parameters object (intentionally passed by value). + def minimize_residual(self, arg2, arg3): + r""" + minimize_residual(IMinimizer self, fcn_residual_t arg2, Parameters arg3) -> MinimizerResult + mumufit::MinimizerResult IMinimizer::minimize_residual(fcn_residual_t, mumufit::Parameters) - value of objective function. + """ + return _libBornAgainFit.IMinimizer_minimize_residual(self, arg2, arg3) + + def clear(self): + r""" + clear(IMinimizer self) + virtual void IMinimizer::clear() + + clear resources (parameters) for consecutives minimizations """ - return _libBornAgainFit.PyCallback_call_scalar(self, pars) + return _libBornAgainFit.IMinimizer_clear(self) - def call_residuals(self, pars): + def minValue(self): r""" - call_residuals(PyCallback self, Parameters pars) -> vdouble1d_t - std::vector< double > PyCallback::call_residuals(mumufit::Parameters pars) + minValue(IMinimizer self) -> double + double IMinimizer::minValue() const - Call Python callable and returns its result. Intended to be overloaded in Python. + Returns minimum function value. - Parameters: - ----------- + """ + return _libBornAgainFit.IMinimizer_minValue(self) - pars: - Fit parameters object (intentionally passed by value). + def setOptions(self, options): + r""" + setOptions(IMinimizer self, std::string const & options) + void IMinimizer::setOptions(const std::string &options) - vector of residuals + Sets option string to the minimizer. """ - return _libBornAgainFit.PyCallback_call_residuals(self, pars) - def __disown__(self): - self.this.disown() - _libBornAgainFit.disown_PyCallback(self) - return weakref.proxy(self) + return _libBornAgainFit.IMinimizer_setOptions(self, options) -# Register PyCallback in _libBornAgainFit: -_libBornAgainFit.PyCallback_swigregister(PyCallback) +# Register IMinimizer in _libBornAgainFit: +_libBornAgainFit.IMinimizer_swigregister(IMinimizer) + +class MinimizerCatalog(object): + r""" + + + Hard-coded information about all minimizers available. + + C++ includes: MinimizerCatalog.h + + """ + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self): + r""" + __init__(MinimizerCatalog self) -> MinimizerCatalog + MinimizerCatalog::MinimizerCatalog() + + """ + _libBornAgainFit.MinimizerCatalog_swiginit(self, _libBornAgainFit.new_MinimizerCatalog()) + + def toString(self): + r""" + toString(MinimizerCatalog self) -> std::string + std::string MinimizerCatalog::toString() const + + Returns multiline string representing catalog content. + + """ + return _libBornAgainFit.MinimizerCatalog_toString(self) + + def minimizerNames(self): + r""" + minimizerNames(MinimizerCatalog self) -> vector_string_t + std::vector< std::string > MinimizerCatalog::minimizerNames() const + + """ + return _libBornAgainFit.MinimizerCatalog_minimizerNames(self) + + def algorithmNames(self, minimizerName): + r""" + algorithmNames(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t + std::vector< std::string > MinimizerCatalog::algorithmNames(const std::string &minimizerName) const + + Returns list of algorithms defined for the minimizer with a given name. + + """ + return _libBornAgainFit.MinimizerCatalog_algorithmNames(self, minimizerName) + + def algorithmDescriptions(self, minimizerName): + r""" + algorithmDescriptions(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t + std::vector< std::string > MinimizerCatalog::algorithmDescriptions(const std::string &minimizerName) const + + Returns list of algorithm's descriptions for the minimizer with a given name . + + """ + return _libBornAgainFit.MinimizerCatalog_algorithmDescriptions(self, minimizerName) + + def minimizerInfo(self, minimizerName): + r""" + minimizerInfo(MinimizerCatalog self, std::string const & minimizerName) -> MinimizerInfo const & + const MinimizerInfo & MinimizerCatalog::minimizerInfo(const std::string &minimizerName) const + + Returns info for minimizer with given name. + + """ + return _libBornAgainFit.MinimizerCatalog_minimizerInfo(self, minimizerName) + __swig_destroy__ = _libBornAgainFit.delete_MinimizerCatalog + +# Register MinimizerCatalog in _libBornAgainFit: +_libBornAgainFit.MinimizerCatalog_swigregister(MinimizerCatalog) class MinimizerResult(object): r""" @@ -2552,13 +2632,13 @@ class MinimizerResult(object): # Register MinimizerResult in _libBornAgainFit: _libBornAgainFit.MinimizerResult_swigregister(MinimizerResult) -class Minimizer(object): +class FitOptions(object): r""" - A main class to run fitting. + General fitting options. - C++ includes: Minimizer.h + C++ includes: FitOptions.h """ @@ -2567,148 +2647,55 @@ class Minimizer(object): def __init__(self): r""" - __init__(Minimizer self) -> Minimizer - Minimizer::Minimizer() - - """ - _libBornAgainFit.Minimizer_swiginit(self, _libBornAgainFit.new_Minimizer()) - __swig_destroy__ = _libBornAgainFit.delete_Minimizer - - def setMinimizer(self, *args): - r""" - setMinimizer(Minimizer self, std::string const & minimizerName, std::string const & algorithmName="", std::string const & options="") - setMinimizer(Minimizer self, IMinimizer minimizer) - void Minimizer::setMinimizer(IMinimizer *minimizer) - - """ - return _libBornAgainFit.Minimizer_setMinimizer(self, *args) - - def minimize_cpp(self, callback, parameters): - r""" - minimize_cpp(Minimizer self, PyCallback callback, Parameters parameters) -> MinimizerResult - MinimizerResult Minimizer::minimize(PyCallback &callback, const Parameters ¶meters) - - Finds minimum of user objective function (to be called from Python). - - """ - return _libBornAgainFit.Minimizer_minimize_cpp(self, callback, parameters) - - def minimize(self, callback, pars): - if not callable(callback): - raise Exception("Not a Python callable") - - # single call to callback to check return type - result = callback(pars) - - if isinstance(result, float): - wrp = CallableWrapper(callback, PyCallback.SCALAR) - return self.minimize_cpp(wrp, pars) - elif hasattr(result, '__len__'): - wrp = CallableWrapper(callback, PyCallback.RESIDUAL) - return self.minimize_cpp(wrp, pars) - else: - raise Exception("Wrong callable type") - - - -# Register Minimizer in _libBornAgainFit: -_libBornAgainFit.Minimizer_swigregister(Minimizer) - -class IMinimizer(object): - r""" - - - Abstract base class for all kind minimizers. - - C++ includes: IMinimizer.h - - """ - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined - class is abstract") - __repr__ = _swig_repr - __swig_destroy__ = _libBornAgainFit.delete_IMinimizer - - def minimizerName(self): - r""" - minimizerName(IMinimizer self) -> std::string - virtual std::string IMinimizer::minimizerName() const =0 - - return name of the minimizer - - """ - return _libBornAgainFit.IMinimizer_minimizerName(self) - - def algorithmName(self): - r""" - algorithmName(IMinimizer self) -> std::string - virtual std::string IMinimizer::algorithmName() const =0 - - return name of the minimization algorithm - - """ - return _libBornAgainFit.IMinimizer_algorithmName(self) - - def minimize_scalar(self, arg2, arg3): - r""" - minimize_scalar(IMinimizer self, fcn_scalar_t arg2, Parameters arg3) -> MinimizerResult - mumufit::MinimizerResult IMinimizer::minimize_scalar(fcn_scalar_t, mumufit::Parameters) - - run minimization + __init__(FitOptions self) -> FitOptions + FitOptions::FitOptions() """ - return _libBornAgainFit.IMinimizer_minimize_scalar(self, arg2, arg3) + _libBornAgainFit.FitOptions_swiginit(self, _libBornAgainFit.new_FitOptions()) - def minimize_residual(self, arg2, arg3): + def derivEpsilon(self): r""" - minimize_residual(IMinimizer self, fcn_residual_t arg2, Parameters arg3) -> MinimizerResult - mumufit::MinimizerResult IMinimizer::minimize_residual(fcn_residual_t, mumufit::Parameters) + derivEpsilon(FitOptions self) -> double + double FitOptions::derivEpsilon() const """ - return _libBornAgainFit.IMinimizer_minimize_residual(self, arg2, arg3) + return _libBornAgainFit.FitOptions_derivEpsilon(self) - def clear(self): + def setDerivEpsilon(self, deriv_epsilon): r""" - clear(IMinimizer self) - virtual void IMinimizer::clear() - - clear resources (parameters) for consecutives minimizations + setDerivEpsilon(FitOptions self, double deriv_epsilon) + void FitOptions::setDerivEpsilon(double deriv_epsilon) """ - return _libBornAgainFit.IMinimizer_clear(self) + return _libBornAgainFit.FitOptions_setDerivEpsilon(self, deriv_epsilon) - def minValue(self): + def stepFactor(self): r""" - minValue(IMinimizer self) -> double - double IMinimizer::minValue() const - - Returns minimum function value. + stepFactor(FitOptions self) -> double + double FitOptions::stepFactor() const """ - return _libBornAgainFit.IMinimizer_minValue(self) + return _libBornAgainFit.FitOptions_stepFactor(self) - def setOptions(self, options): + def setStepFactor(self, step_factor): r""" - setOptions(IMinimizer self, std::string const & options) - void IMinimizer::setOptions(const std::string &options) - - Sets option string to the minimizer. + setStepFactor(FitOptions self, double step_factor) + void FitOptions::setStepFactor(double step_factor) """ - return _libBornAgainFit.IMinimizer_setOptions(self, options) + return _libBornAgainFit.FitOptions_setStepFactor(self, step_factor) + __swig_destroy__ = _libBornAgainFit.delete_FitOptions -# Register IMinimizer in _libBornAgainFit: -_libBornAgainFit.IMinimizer_swigregister(IMinimizer) +# Register FitOptions in _libBornAgainFit: +_libBornAgainFit.FitOptions_swigregister(FitOptions) -class MinimizerCatalog(object): +class Minimizer(object): r""" - Hard-coded information about all minimizers available. + A main class to run fitting. - C++ includes: MinimizerCatalog.h + C++ includes: Minimizer.h """ @@ -2717,63 +2704,52 @@ class MinimizerCatalog(object): def __init__(self): r""" - __init__(MinimizerCatalog self) -> MinimizerCatalog - MinimizerCatalog::MinimizerCatalog() - - """ - _libBornAgainFit.MinimizerCatalog_swiginit(self, _libBornAgainFit.new_MinimizerCatalog()) - - def toString(self): - r""" - toString(MinimizerCatalog self) -> std::string - std::string MinimizerCatalog::toString() const - - Returns multiline string representing catalog content. + __init__(Minimizer self) -> Minimizer + Minimizer::Minimizer() """ - return _libBornAgainFit.MinimizerCatalog_toString(self) + _libBornAgainFit.Minimizer_swiginit(self, _libBornAgainFit.new_Minimizer()) + __swig_destroy__ = _libBornAgainFit.delete_Minimizer - def minimizerNames(self): + def setMinimizer(self, *args): r""" - minimizerNames(MinimizerCatalog self) -> vector_string_t - std::vector< std::string > MinimizerCatalog::minimizerNames() const + setMinimizer(Minimizer self, std::string const & minimizerName, std::string const & algorithmName="", std::string const & options="") + setMinimizer(Minimizer self, IMinimizer minimizer) + void Minimizer::setMinimizer(IMinimizer *minimizer) """ - return _libBornAgainFit.MinimizerCatalog_minimizerNames(self) + return _libBornAgainFit.Minimizer_setMinimizer(self, *args) - def algorithmNames(self, minimizerName): + def minimize_cpp(self, callback, parameters): r""" - algorithmNames(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t - std::vector< std::string > MinimizerCatalog::algorithmNames(const std::string &minimizerName) const + minimize_cpp(Minimizer self, PyCallback callback, Parameters parameters) -> MinimizerResult + MinimizerResult Minimizer::minimize(PyCallback &callback, const Parameters ¶meters) - Returns list of algorithms defined for the minimizer with a given name. + Finds minimum of user objective function (to be called from Python). """ - return _libBornAgainFit.MinimizerCatalog_algorithmNames(self, minimizerName) - - def algorithmDescriptions(self, minimizerName): - r""" - algorithmDescriptions(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t - std::vector< std::string > MinimizerCatalog::algorithmDescriptions(const std::string &minimizerName) const + return _libBornAgainFit.Minimizer_minimize_cpp(self, callback, parameters) - Returns list of algorithm's descriptions for the minimizer with a given name . + def minimize(self, callback, pars): + if not callable(callback): + raise Exception("Not a Python callable") - """ - return _libBornAgainFit.MinimizerCatalog_algorithmDescriptions(self, minimizerName) + # single call to callback to check return type + result = callback(pars) - def minimizerInfo(self, minimizerName): - r""" - minimizerInfo(MinimizerCatalog self, std::string const & minimizerName) -> MinimizerInfo const & - const MinimizerInfo & MinimizerCatalog::minimizerInfo(const std::string &minimizerName) const + if isinstance(result, float): + wrp = CallableWrapper(callback, PyCallback.SCALAR) + return self.minimize_cpp(wrp, pars) + elif hasattr(result, '__len__'): + wrp = CallableWrapper(callback, PyCallback.RESIDUAL) + return self.minimize_cpp(wrp, pars) + else: + raise Exception("Wrong callable type") - Returns info for minimizer with given name. - """ - return _libBornAgainFit.MinimizerCatalog_minimizerInfo(self, minimizerName) - __swig_destroy__ = _libBornAgainFit.delete_MinimizerCatalog -# Register MinimizerCatalog in _libBornAgainFit: -_libBornAgainFit.MinimizerCatalog_swigregister(MinimizerCatalog) +# Register Minimizer in _libBornAgainFit: +_libBornAgainFit.Minimizer_swigregister(Minimizer) class MinimizerFactory(object): r""" @@ -2849,6 +2825,87 @@ def MinimizerFactory_catalog(): r"""MinimizerFactory_catalog() -> MinimizerCatalog""" return _libBornAgainFit.MinimizerFactory_catalog() +class PyCallback(object): + r""" + + + Base class to wrap Python callable and pass it to C++. Used in swig interface file, intended to be overloaded from Python. + + C++ includes: PyCallback.h + + """ + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + SCALAR = _libBornAgainFit.PyCallback_SCALAR + + RESIDUAL = _libBornAgainFit.PyCallback_RESIDUAL + + + def __init__(self, *args): + r""" + __init__(PyCallback self, PyCallback::CallbackType callback_type=SCALAR) -> PyCallback + PyCallback::PyCallback(CallbackType callback_type=SCALAR) + + """ + if self.__class__ == PyCallback: + _self = None + else: + _self = self + _libBornAgainFit.PyCallback_swiginit(self, _libBornAgainFit.new_PyCallback(_self, *args)) + __swig_destroy__ = _libBornAgainFit.delete_PyCallback + + def callback_type(self): + r""" + callback_type(PyCallback self) -> PyCallback::CallbackType + PyCallback::CallbackType PyCallback::callback_type() const + + """ + return _libBornAgainFit.PyCallback_callback_type(self) + + def call_scalar(self, pars): + r""" + call_scalar(PyCallback self, Parameters pars) -> double + double PyCallback::call_scalar(mumufit::Parameters pars) + + Call Python callable and returns its result. Intended to be overloaded in Python. + + Parameters: + ----------- + + pars: + Fit parameters object (intentionally passed by value). + + value of objective function. + + """ + return _libBornAgainFit.PyCallback_call_scalar(self, pars) + + def call_residuals(self, pars): + r""" + call_residuals(PyCallback self, Parameters pars) -> vdouble1d_t + std::vector< double > PyCallback::call_residuals(mumufit::Parameters pars) + + Call Python callable and returns its result. Intended to be overloaded in Python. + + Parameters: + ----------- + + pars: + Fit parameters object (intentionally passed by value). + + vector of residuals + + """ + return _libBornAgainFit.PyCallback_call_residuals(self, pars) + def __disown__(self): + self.this.disown() + _libBornAgainFit.disown_PyCallback(self) + return weakref.proxy(self) + +# Register PyCallback in _libBornAgainFit: +_libBornAgainFit.PyCallback_swigregister(PyCallback) + class ParametersIterator(object): diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp index 50767559992..b2618aab2b8 100644 --- a/auto/Wrap/libBornAgainFit_wrap.cpp +++ b/auto/Wrap/libBornAgainFit_wrap.cpp @@ -3098,66 +3098,67 @@ namespace Swig { /* -------- TYPES TABLE (BEGIN) -------- */ #define SWIGTYPE_p_AttLimits swig_types[0] -#define SWIGTYPE_p_IMinimizer swig_types[1] -#define SWIGTYPE_p_MinimizerCatalog swig_types[2] -#define SWIGTYPE_p_MinimizerFactory swig_types[3] -#define SWIGTYPE_p_MinimizerInfo swig_types[4] -#define SWIGTYPE_p_PyCallback swig_types[5] -#define SWIGTYPE_p_RealLimits swig_types[6] -#define SWIGTYPE_p_allocator_type swig_types[7] -#define SWIGTYPE_p_char swig_types[8] -#define SWIGTYPE_p_const_iterator swig_types[9] -#define SWIGTYPE_p_corr_matrix_t swig_types[10] -#define SWIGTYPE_p_difference_type swig_types[11] -#define SWIGTYPE_p_fcn_residual_t swig_types[12] -#define SWIGTYPE_p_fcn_scalar_t swig_types[13] -#define SWIGTYPE_p_first_type swig_types[14] -#define SWIGTYPE_p_int swig_types[15] -#define SWIGTYPE_p_iterator swig_types[16] -#define SWIGTYPE_p_key_type swig_types[17] -#define SWIGTYPE_p_long_long swig_types[18] -#define SWIGTYPE_p_mapped_type swig_types[19] -#define SWIGTYPE_p_mumufit__Minimizer swig_types[20] -#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[21] -#define SWIGTYPE_p_mumufit__Parameter swig_types[22] -#define SWIGTYPE_p_mumufit__Parameters swig_types[23] -#define SWIGTYPE_p_p_PyObject swig_types[24] -#define SWIGTYPE_p_parameters_t swig_types[25] -#define SWIGTYPE_p_second_type swig_types[26] -#define SWIGTYPE_p_short swig_types[27] -#define SWIGTYPE_p_signed_char swig_types[28] -#define SWIGTYPE_p_size_type swig_types[29] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[30] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[31] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[32] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[33] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[34] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[35] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[36] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[37] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[38] -#define SWIGTYPE_p_std__invalid_argument swig_types[39] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[40] -#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[41] -#define SWIGTYPE_p_std__pairT_double_double_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_mumufit__Parameter_std__allocatorT_mumufit__Parameter_t_t__const_iterator swig_types[45] -#define SWIGTYPE_p_std__vectorT_mumufit__Parameter_std__allocatorT_mumufit__Parameter_t_t__iterator swig_types[46] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[47] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[48] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[49] -#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[50] -#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[51] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[52] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[53] -#define SWIGTYPE_p_unsigned_char swig_types[54] -#define SWIGTYPE_p_unsigned_int swig_types[55] -#define SWIGTYPE_p_unsigned_long_long swig_types[56] -#define SWIGTYPE_p_unsigned_short swig_types[57] -#define SWIGTYPE_p_value_type swig_types[58] -static swig_type_info *swig_types[60]; -static swig_module_info swig_module = {swig_types, 59, 0, 0, 0, 0}; +#define SWIGTYPE_p_FitOptions swig_types[1] +#define SWIGTYPE_p_IMinimizer swig_types[2] +#define SWIGTYPE_p_MinimizerCatalog swig_types[3] +#define SWIGTYPE_p_MinimizerFactory swig_types[4] +#define SWIGTYPE_p_MinimizerInfo swig_types[5] +#define SWIGTYPE_p_PyCallback swig_types[6] +#define SWIGTYPE_p_RealLimits swig_types[7] +#define SWIGTYPE_p_allocator_type swig_types[8] +#define SWIGTYPE_p_char swig_types[9] +#define SWIGTYPE_p_const_iterator swig_types[10] +#define SWIGTYPE_p_corr_matrix_t swig_types[11] +#define SWIGTYPE_p_difference_type swig_types[12] +#define SWIGTYPE_p_fcn_residual_t swig_types[13] +#define SWIGTYPE_p_fcn_scalar_t swig_types[14] +#define SWIGTYPE_p_first_type swig_types[15] +#define SWIGTYPE_p_int swig_types[16] +#define SWIGTYPE_p_iterator swig_types[17] +#define SWIGTYPE_p_key_type swig_types[18] +#define SWIGTYPE_p_long_long swig_types[19] +#define SWIGTYPE_p_mapped_type swig_types[20] +#define SWIGTYPE_p_mumufit__Minimizer swig_types[21] +#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[22] +#define SWIGTYPE_p_mumufit__Parameter swig_types[23] +#define SWIGTYPE_p_mumufit__Parameters swig_types[24] +#define SWIGTYPE_p_p_PyObject swig_types[25] +#define SWIGTYPE_p_parameters_t swig_types[26] +#define SWIGTYPE_p_second_type swig_types[27] +#define SWIGTYPE_p_short swig_types[28] +#define SWIGTYPE_p_signed_char swig_types[29] +#define SWIGTYPE_p_size_type swig_types[30] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[31] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[32] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[33] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[34] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[35] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[36] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[37] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[38] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[39] +#define SWIGTYPE_p_std__invalid_argument swig_types[40] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[41] +#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[42] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[43] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[44] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[45] +#define SWIGTYPE_p_std__vectorT_mumufit__Parameter_std__allocatorT_mumufit__Parameter_t_t__const_iterator swig_types[46] +#define SWIGTYPE_p_std__vectorT_mumufit__Parameter_std__allocatorT_mumufit__Parameter_t_t__iterator swig_types[47] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[48] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[49] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[50] +#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[51] +#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[52] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[53] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[54] +#define SWIGTYPE_p_unsigned_char swig_types[55] +#define SWIGTYPE_p_unsigned_int swig_types[56] +#define SWIGTYPE_p_unsigned_long_long swig_types[57] +#define SWIGTYPE_p_unsigned_short swig_types[58] +#define SWIGTYPE_p_value_type swig_types[59] +static swig_type_info *swig_types[61]; +static swig_module_info swig_module = {swig_types, 60, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -6650,17 +6651,17 @@ SWIGINTERN std::vector< std::pair< double,double > >::iterator std_vector_Sl_std SWIGINTERN std::vector< std::pair< double,double > >::iterator std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_0(std::vector< std::pair< double,double > > *self,std::vector< std::pair< double,double > >::iterator pos,std::vector< std::pair< double,double > >::value_type const &x){ return self->insert(pos, x); } SWIGINTERN void std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_1(std::vector< std::pair< double,double > > *self,std::vector< std::pair< double,double > >::iterator pos,std::vector< std::pair< double,double > >::size_type n,std::vector< std::pair< double,double > >::value_type const &x){ self->insert(pos, n, x); } -#include "Fit/Param/RealLimits.h" -#include "Fit/Param/AttLimits.h" -#include "Fit/Param/Parameter.h" -#include "Fit/Param/Parameters.h" -#include "Fit/Minimizer/IMinimizer.h" -#include "Fit/Minimizer/MinimizerCatalog.h" +#include "Fit/Kernel/FitOptions.h" +#include "Fit/Kernel/Minimizer.h" #include "Fit/Kernel/MinimizerFactory.h" - #include "Fit/Kernel/PyCallback.h" +#include "Fit/Minimizer/IMinimizer.h" +#include "Fit/Minimizer/MinimizerCatalog.h" #include "Fit/Minimizer/MinimizerResult.h" -#include "Fit/Kernel/Minimizer.h" +#include "Fit/Param/AttLimits.h" +#include "Fit/Param/Parameter.h" +#include "Fit/Param/Parameters.h" +#include "Fit/Param/RealLimits.h" SWIGINTERN int @@ -25926,258 +25927,197 @@ SWIGINTERN PyObject *Parameters_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObjec return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_PyCallback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - PyObject *arg1 = (PyObject *) 0 ; - PyCallback::CallbackType arg2 ; - int val2 ; - int ecode2 = 0 ; - PyCallback *result = 0 ; - - if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; - arg1 = swig_obj[0]; - ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_PyCallback" "', argument " "2"" of type '" "PyCallback::CallbackType""'"); - } - arg2 = static_cast< PyCallback::CallbackType >(val2); - if ( arg1 != Py_None ) { - /* subclassed */ - result = (PyCallback *)new SwigDirector_PyCallback(arg1,arg2); - } else { - result = (PyCallback *)new PyCallback(arg2); - } - - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PyCallback, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_PyCallback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_delete_IMinimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyObject *arg1 = (PyObject *) 0 ; - PyCallback *result = 0 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; - if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; - arg1 = swig_obj[0]; - if ( arg1 != Py_None ) { - /* subclassed */ - result = (PyCallback *)new SwigDirector_PyCallback(arg1); - } else { - result = (PyCallback *)new PyCallback(); + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IMinimizer" "', argument " "1"" of type '" "IMinimizer *""'"); } - - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PyCallback, SWIG_POINTER_NEW | 0 ); + arg1 = reinterpret_cast< IMinimizer * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_new_PyCallback(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[3] = { - 0 - }; - - if (!(argc = SWIG_Python_UnpackTuple(args, "new_PyCallback", 0, 2, argv))) SWIG_fail; - --argc; - if (argc == 1) { - int _v; - _v = (argv[0] != 0); - if (_v) { - return _wrap_new_PyCallback__SWIG_1(self, argc, argv); - } - } - if (argc == 2) { - int _v; - _v = (argv[0] != 0); - if (_v) { - { - int res = SWIG_AsVal_int(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_PyCallback__SWIG_0(self, argc, argv); - } - } - } - -fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_PyCallback'.\n" - " Possible C/C++ prototypes are:\n" - " PyCallback::PyCallback(PyCallback::CallbackType)\n" - " PyCallback::PyCallback(PyObject *)\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_delete_PyCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_minimizerName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyCallback *arg1 = (PyCallback *) 0 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; + std::string result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_PyCallback" "', argument " "1"" of type '" "PyCallback *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimizerName" "', argument " "1"" of type '" "IMinimizer const *""'"); } - arg1 = reinterpret_cast< PyCallback * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< IMinimizer * >(argp1); + result = ((IMinimizer const *)arg1)->minimizerName(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_PyCallback_callback_type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_algorithmName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyCallback *arg1 = (PyCallback *) 0 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - PyCallback::CallbackType result; + std::string result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_callback_type" "', argument " "1"" of type '" "PyCallback const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_algorithmName" "', argument " "1"" of type '" "IMinimizer const *""'"); } - arg1 = reinterpret_cast< PyCallback * >(argp1); - result = (PyCallback::CallbackType)((PyCallback const *)arg1)->callback_type(); - resultobj = SWIG_From_int(static_cast< int >(result)); + arg1 = reinterpret_cast< IMinimizer * >(argp1); + result = ((IMinimizer const *)arg1)->algorithmName(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_PyCallback_call_scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_minimize_scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyCallback *arg1 = (PyCallback *) 0 ; - mumufit::Parameters arg2 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; + fcn_scalar_t arg2 ; + mumufit::Parameters arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; - PyObject *swig_obj[2] ; - Swig::Director *director = 0; - bool upcall = false; - double result; + void *argp3 ; + int res3 = 0 ; + PyObject *swig_obj[3] ; + mumufit::MinimizerResult result; - if (!SWIG_Python_UnpackTuple(args, "PyCallback_call_scalar", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "IMinimizer_minimize_scalar", 3, 3, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_call_scalar" "', argument " "1"" of type '" "PyCallback *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimize_scalar" "', argument " "1"" of type '" "IMinimizer *""'"); } - arg1 = reinterpret_cast< PyCallback * >(argp1); + arg1 = reinterpret_cast< IMinimizer * >(argp1); { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_fcn_scalar_t, 0 | 0); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PyCallback_call_scalar" "', argument " "2"" of type '" "mumufit::Parameters""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_minimize_scalar" "', argument " "2"" of type '" "fcn_scalar_t""'"); } if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PyCallback_call_scalar" "', argument " "2"" of type '" "mumufit::Parameters""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_scalar" "', argument " "2"" of type '" "fcn_scalar_t""'"); } else { - mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp2); + fcn_scalar_t * temp = reinterpret_cast< fcn_scalar_t * >(argp2); arg2 = *temp; if (SWIG_IsNewObj(res2)) delete temp; } } - director = SWIG_DIRECTOR_CAST(arg1); - upcall = (director && (director->swig_get_self()==swig_obj[0])); - try { - if (upcall) { - result = (double)(arg1)->PyCallback::call_scalar(arg2); + { + res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IMinimizer_minimize_scalar" "', argument " "3"" of type '" "mumufit::Parameters""'"); + } + if (!argp3) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_scalar" "', argument " "3"" of type '" "mumufit::Parameters""'"); } else { - result = (double)(arg1)->call_scalar(arg2); + mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp3); + arg3 = *temp; + if (SWIG_IsNewObj(res3)) delete temp; } - } catch (Swig::DirectorException&) { - SWIG_fail; } - resultobj = SWIG_From_double(static_cast< double >(result)); + result = (arg1)->minimize_scalar(arg2,arg3); + resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_PyCallback_call_residuals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_minimize_residual(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyCallback *arg1 = (PyCallback *) 0 ; - mumufit::Parameters arg2 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; + fcn_residual_t arg2 ; + mumufit::Parameters arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; - PyObject *swig_obj[2] ; - Swig::Director *director = 0; - bool upcall = false; - std::vector< double,std::allocator< double > > result; + void *argp3 ; + int res3 = 0 ; + PyObject *swig_obj[3] ; + mumufit::MinimizerResult result; - if (!SWIG_Python_UnpackTuple(args, "PyCallback_call_residuals", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "IMinimizer_minimize_residual", 3, 3, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_call_residuals" "', argument " "1"" of type '" "PyCallback *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimize_residual" "', argument " "1"" of type '" "IMinimizer *""'"); } - arg1 = reinterpret_cast< PyCallback * >(argp1); + arg1 = reinterpret_cast< IMinimizer * >(argp1); { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_fcn_residual_t, 0 | 0); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PyCallback_call_residuals" "', argument " "2"" of type '" "mumufit::Parameters""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_minimize_residual" "', argument " "2"" of type '" "fcn_residual_t""'"); } if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PyCallback_call_residuals" "', argument " "2"" of type '" "mumufit::Parameters""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_residual" "', argument " "2"" of type '" "fcn_residual_t""'"); } else { - mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp2); + fcn_residual_t * temp = reinterpret_cast< fcn_residual_t * >(argp2); arg2 = *temp; if (SWIG_IsNewObj(res2)) delete temp; } } - director = SWIG_DIRECTOR_CAST(arg1); - upcall = (director && (director->swig_get_self()==swig_obj[0])); - try { - if (upcall) { - result = (arg1)->PyCallback::call_residuals(arg2); + { + res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IMinimizer_minimize_residual" "', argument " "3"" of type '" "mumufit::Parameters""'"); + } + if (!argp3) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_residual" "', argument " "3"" of type '" "mumufit::Parameters""'"); } else { - result = (arg1)->call_residuals(arg2); + mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp3); + arg3 = *temp; + if (SWIG_IsNewObj(res3)) delete temp; } - } catch (Swig::DirectorException&) { - SWIG_fail; } - resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); + result = (arg1)->minimize_residual(arg2,arg3); + resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_disown_PyCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - PyCallback *arg1 = (PyCallback *) 0 ; + IMinimizer *arg1 = (IMinimizer *) 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_PyCallback, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_PyCallback" "', argument " "1"" of type '" "PyCallback *""'"); - } - arg1 = reinterpret_cast< PyCallback * >(argp1); - { - Swig::Director *director = SWIG_DIRECTOR_CAST(arg1); - if (director) director->swig_disown(); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_clear" "', argument " "1"" of type '" "IMinimizer *""'"); } - + arg1 = reinterpret_cast< IMinimizer * >(argp1); + (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -26185,188 +26125,160 @@ fail: } -SWIGINTERN PyObject *PyCallback_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_PyCallback, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *PyCallback_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - return SWIG_Python_InitShadowInstance(args); -} - -SWIGINTERN PyObject *_wrap_new_MinimizerResult(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *result = 0 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + double result; - if (!SWIG_Python_UnpackTuple(args, "new_MinimizerResult", 0, 0, 0)) SWIG_fail; - result = (mumufit::MinimizerResult *)new mumufit::MinimizerResult(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_NEW | 0 ); + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minValue" "', argument " "1"" of type '" "IMinimizer const *""'"); + } + arg1 = reinterpret_cast< IMinimizer * >(argp1); + result = (double)((IMinimizer const *)arg1)->minValue(); + resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_setParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_setOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - mumufit::Parameters *arg2 = 0 ; + IMinimizer *arg1 = (IMinimizer *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setParameters", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "IMinimizer_setOptions", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setParameters" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); - } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerResult_setParameters" "', argument " "2"" of type '" "mumufit::Parameters const &""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setOptions" "', argument " "1"" of type '" "IMinimizer *""'"); } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerResult_setParameters" "', argument " "2"" of type '" "mumufit::Parameters const &""'"); + arg1 = reinterpret_cast< IMinimizer * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; } - arg2 = reinterpret_cast< mumufit::Parameters * >(argp2); - (arg1)->setParameters((mumufit::Parameters const &)*arg2); + (arg1)->setOptions((std::string const &)*arg2); resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - mumufit::Parameters result; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_parameters" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); - } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - result = ((mumufit::MinimizerResult const *)arg1)->parameters(); - resultobj = SWIG_NewPointerObj((new mumufit::Parameters(static_cast< const mumufit::Parameters& >(result))), SWIGTYPE_p_mumufit__Parameters, SWIG_POINTER_OWN | 0 ); - return resultobj; -fail: - return NULL; +SWIGINTERN PyObject *IMinimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_IMinimizer, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); } - -SWIGINTERN PyObject *_wrap_MinimizerResult_setMinValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_MinimizerCatalog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject *swig_obj[2] ; + MinimizerCatalog *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setMinValue", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setMinValue" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); - } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setMinValue" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setMinValue(arg2); - resultobj = SWIG_Py_Void(); + if (!SWIG_Python_UnpackTuple(args, "new_MinimizerCatalog", 0, 0, 0)) SWIG_fail; + result = (MinimizerCatalog *)new MinimizerCatalog(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerCatalog, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalog_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - double result; + std::string result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_minValue" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_toString" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - result = (double)((mumufit::MinimizerResult const *)arg1)->minValue(); - resultobj = SWIG_From_double(static_cast< double >(result)); + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + result = ((MinimizerCatalog const *)arg1)->toString(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalog_minimizerNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - std::string result; + std::vector< std::string,std::allocator< std::string > > result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_toString" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_minimizerNames" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - result = ((mumufit::MinimizerResult const *)arg1)->toString(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + result = ((MinimizerCatalog const *)arg1)->minimizerNames(); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_setReport(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalog_algorithmNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject *swig_obj[2] ; + std::vector< std::string,std::allocator< std::string > > result; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setReport", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_algorithmNames", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setReport" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_algorithmNames" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerResult_setReport" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); } if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerResult_setReport" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); } arg2 = ptr; } - (arg1)->setReport((std::string const &)*arg2); - resultobj = SWIG_Py_Void(); + result = ((MinimizerCatalog const *)arg1)->algorithmNames((std::string const &)*arg2); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: @@ -26375,86 +26287,151 @@ fail: } -SWIGINTERN PyObject *_wrap_MinimizerResult_setDuration(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalog_algorithmDescriptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - double arg2 ; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject *swig_obj[2] ; + std::vector< std::string,std::allocator< std::string > > result; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setDuration", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_algorithmDescriptions", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setDuration" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setDuration" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setDuration(arg2); - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = ((MinimizerCatalog const *)arg1)->algorithmDescriptions((std::string const &)*arg2); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_setNumberOfCalls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalog_minimizerInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - int arg2 ; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - int val2 ; - int ecode2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject *swig_obj[2] ; + MinimizerInfo *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setNumberOfCalls", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_minimizerInfo", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setNumberOfCalls" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); } - arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setNumberOfCalls" "', argument " "2"" of type '" "int""'"); - } - arg2 = static_cast< int >(val2); - (arg1)->setNumberOfCalls(arg2); - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = (MinimizerInfo *) &((MinimizerCatalog const *)arg1)->minimizerInfo((std::string const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerInfo, 0 | 0 ); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerResult_setNumberOfGradientCalls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_MinimizerCatalog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + MinimizerCatalog *arg1 = (MinimizerCatalog *) 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_MinimizerCatalog, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_MinimizerCatalog" "', argument " "1"" of type '" "MinimizerCatalog *""'"); + } + arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *MinimizerCatalog_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_MinimizerCatalog, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *MinimizerCatalog_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + return SWIG_Python_InitShadowInstance(args); +} + +SWIGINTERN PyObject *_wrap_new_MinimizerResult(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + mumufit::MinimizerResult *result = 0 ; + + if (!SWIG_Python_UnpackTuple(args, "new_MinimizerResult", 0, 0, 0)) SWIG_fail; + result = (mumufit::MinimizerResult *)new mumufit::MinimizerResult(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_MinimizerResult_setParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; - int arg2 ; + mumufit::Parameters *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - int val2 ; - int ecode2 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setNumberOfGradientCalls", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setParameters", 2, 2, swig_obj)) SWIG_fail; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setNumberOfGradientCalls" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setParameters" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setNumberOfGradientCalls" "', argument " "2"" of type '" "int""'"); - } - arg2 = static_cast< int >(val2); - (arg1)->setNumberOfGradientCalls(arg2); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerResult_setParameters" "', argument " "2"" of type '" "mumufit::Parameters const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerResult_setParameters" "', argument " "2"" of type '" "mumufit::Parameters const &""'"); + } + arg2 = reinterpret_cast< mumufit::Parameters * >(argp2); + (arg1)->setParameters((mumufit::Parameters const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -26462,245 +26439,191 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_MinimizerResult(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerResult_parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; + mumufit::Parameters result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_MinimizerResult" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_parameters" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); } arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); + result = ((mumufit::MinimizerResult const *)arg1)->parameters(); + resultobj = SWIG_NewPointerObj((new mumufit::Parameters(static_cast< const mumufit::Parameters& >(result))), SWIGTYPE_p_mumufit__Parameters, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *MinimizerResult_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_mumufit__MinimizerResult, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *MinimizerResult_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - return SWIG_Python_InitShadowInstance(args); -} - -SWIGINTERN PyObject *_wrap_new_Minimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerResult_setMinValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *result = 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "new_Minimizer", 0, 0, 0)) SWIG_fail; - result = (mumufit::Minimizer *)new mumufit::Minimizer(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__Minimizer, SWIG_POINTER_NEW | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setMinValue", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setMinValue" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); + } + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setMinValue" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setMinValue(arg2); + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_delete_Minimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerResult_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; + double result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Minimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_minValue" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + result = (double)((mumufit::MinimizerResult const *)arg1)->minValue(); + resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_MinimizerResult_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; - std::string *arg2 = 0 ; - std::string *arg3 = 0 ; - std::string *arg4 = 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; void *argp1 = 0 ; int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - int res3 = SWIG_OLDOBJ ; - int res4 = SWIG_OLDOBJ ; + PyObject *swig_obj[1] ; + std::string result; - if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); - } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - { - std::string *ptr = (std::string *)0; - res3 = SWIG_AsPtr_std_string(swig_obj[2], &ptr); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); - } - arg3 = ptr; - } - { - std::string *ptr = (std::string *)0; - res4 = SWIG_AsPtr_std_string(swig_obj[3], &ptr); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Minimizer_setMinimizer" "', argument " "4"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "4"" of type '" "std::string const &""'"); - } - arg4 = ptr; + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_toString" "', argument " "1"" of type '" "mumufit::MinimizerResult const *""'"); } - (arg1)->setMinimizer((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - if (SWIG_IsNewObj(res3)) delete arg3; - if (SWIG_IsNewObj(res4)) delete arg4; + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + result = ((mumufit::MinimizerResult const *)arg1)->toString(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: - if (SWIG_IsNewObj(res2)) delete arg2; - if (SWIG_IsNewObj(res3)) delete arg3; - if (SWIG_IsNewObj(res4)) delete arg4; return NULL; } -SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_MinimizerResult_setReport(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; std::string *arg2 = 0 ; - std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; - int res3 = SWIG_OLDOBJ ; + PyObject *swig_obj[2] ; - if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setReport", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setReport" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerResult_setReport" "', argument " "2"" of type '" "std::string const &""'"); } if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerResult_setReport" "', argument " "2"" of type '" "std::string const &""'"); } arg2 = ptr; } - { - std::string *ptr = (std::string *)0; - res3 = SWIG_AsPtr_std_string(swig_obj[2], &ptr); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); - } - arg3 = ptr; - } - (arg1)->setMinimizer((std::string const &)*arg2,(std::string const &)*arg3); + (arg1)->setReport((std::string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; - if (SWIG_IsNewObj(res3)) delete arg3; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; - if (SWIG_IsNewObj(res3)) delete arg3; return NULL; } -SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_MinimizerResult_setDuration(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; - std::string *arg2 = 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + double arg2 ; void *argp1 = 0 ; int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; - if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setDuration", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setDuration" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - (arg1)->setMinimizer((std::string const &)*arg2); + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setDuration" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setDuration(arg2); resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: - if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_MinimizerResult_setNumberOfCalls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; - IMinimizer *arg2 = (IMinimizer *) 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + int arg2 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; + int val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; - if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setNumberOfCalls", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); - } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_IMinimizer, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "IMinimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setNumberOfCalls" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } - arg2 = reinterpret_cast< IMinimizer * >(argp2); - (arg1)->setMinimizer(arg2); + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setNumberOfCalls" "', argument " "2"" of type '" "int""'"); + } + arg2 = static_cast< int >(val2); + (arg1)->setNumberOfCalls(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -26708,498 +26631,395 @@ fail: } -SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[5] = { - 0 - }; +SWIGINTERN PyObject *_wrap_MinimizerResult_setNumberOfGradientCalls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; + int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + int val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; - if (!(argc = SWIG_Python_UnpackTuple(args, "Minimizer_setMinimizer", 0, 4, argv))) SWIG_fail; - --argc; - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_IMinimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_Minimizer_setMinimizer__SWIG_3(self, argc, argv); - } - } - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_Minimizer_setMinimizer__SWIG_2(self, argc, argv); - } - } - } - if (argc == 3) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_Minimizer_setMinimizer__SWIG_1(self, argc, argv); - } - } - } - } - if (argc == 4) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[3], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_Minimizer_setMinimizer__SWIG_0(self, argc, argv); - } - } - } - } + if (!SWIG_Python_UnpackTuple(args, "MinimizerResult_setNumberOfGradientCalls", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerResult_setNumberOfGradientCalls" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } - + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MinimizerResult_setNumberOfGradientCalls" "', argument " "2"" of type '" "int""'"); + } + arg2 = static_cast< int >(val2); + (arg1)->setNumberOfGradientCalls(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Minimizer_setMinimizer'.\n" - " Possible C/C++ prototypes are:\n" - " mumufit::Minimizer::setMinimizer(std::string const &,std::string const &,std::string const &)\n" - " mumufit::Minimizer::setMinimizer(std::string const &,std::string const &)\n" - " mumufit::Minimizer::setMinimizer(std::string const &)\n" - " mumufit::Minimizer::setMinimizer(IMinimizer *)\n"); - return 0; + return NULL; } -SWIGINTERN PyObject *_wrap_Minimizer_minimize_cpp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_MinimizerResult(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; - PyCallback *arg2 = 0 ; - mumufit::Parameters *arg3 = 0 ; + mumufit::MinimizerResult *arg1 = (mumufit::MinimizerResult *) 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - void *argp3 = 0 ; - int res3 = 0 ; - PyObject *swig_obj[3] ; - mumufit::MinimizerResult result; + PyObject *swig_obj[1] ; - if (!SWIG_Python_UnpackTuple(args, "Minimizer_minimize_cpp", 3, 3, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_minimize_cpp" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); - } - arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_PyCallback, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_minimize_cpp" "', argument " "2"" of type '" "PyCallback &""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_minimize_cpp" "', argument " "2"" of type '" "PyCallback &""'"); - } - arg2 = reinterpret_cast< PyCallback * >(argp2); - res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_minimize_cpp" "', argument " "3"" of type '" "mumufit::Parameters const &""'"); - } - if (!argp3) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_minimize_cpp" "', argument " "3"" of type '" "mumufit::Parameters const &""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_MinimizerResult" "', argument " "1"" of type '" "mumufit::MinimizerResult *""'"); } - arg3 = reinterpret_cast< mumufit::Parameters * >(argp3); - result = (arg1)->minimize(*arg2,(mumufit::Parameters const &)*arg3); - resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); + arg1 = reinterpret_cast< mumufit::MinimizerResult * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *Minimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *MinimizerResult_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_mumufit__Minimizer, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_mumufit__MinimizerResult, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *Minimizer_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *MinimizerResult_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_delete_IMinimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FitOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + FitOptions *result = 0 ; + + if (!SWIG_Python_UnpackTuple(args, "new_FitOptions", 0, 0, 0)) SWIG_fail; + result = (FitOptions *)new FitOptions(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FitOptions, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitOptions_derivEpsilon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitOptions *arg1 = (FitOptions *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; + double result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IMinimizer" "', argument " "1"" of type '" "IMinimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_derivEpsilon" "', argument " "1"" of type '" "FitOptions const *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< FitOptions * >(argp1); + result = (double)((FitOptions const *)arg1)->derivEpsilon(); + resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_minimizerName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FitOptions_setDerivEpsilon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + FitOptions *arg1 = (FitOptions *) 0 ; + double arg2 ; void *argp1 = 0 ; int res1 = 0 ; - PyObject *swig_obj[1] ; - std::string result; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "FitOptions_setDerivEpsilon", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimizerName" "', argument " "1"" of type '" "IMinimizer const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_setDerivEpsilon" "', argument " "1"" of type '" "FitOptions *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - result = ((IMinimizer const *)arg1)->minimizerName(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + arg1 = reinterpret_cast< FitOptions * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitOptions_setDerivEpsilon" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setDerivEpsilon(arg2); + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_algorithmName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FitOptions_stepFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + FitOptions *arg1 = (FitOptions *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - std::string result; + double result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_algorithmName" "', argument " "1"" of type '" "IMinimizer const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_stepFactor" "', argument " "1"" of type '" "FitOptions const *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - result = ((IMinimizer const *)arg1)->algorithmName(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + arg1 = reinterpret_cast< FitOptions * >(argp1); + result = (double)((FitOptions const *)arg1)->stepFactor(); + resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_minimize_scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FitOptions_setStepFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - fcn_scalar_t arg2 ; - mumufit::Parameters arg3 ; + FitOptions *arg1 = (FitOptions *) 0 ; + double arg2 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - void *argp3 ; - int res3 = 0 ; - PyObject *swig_obj[3] ; - mumufit::MinimizerResult result; - - if (!SWIG_Python_UnpackTuple(args, "IMinimizer_minimize_scalar", 3, 3, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; + + if (!SWIG_Python_UnpackTuple(args, "FitOptions_setStepFactor", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimize_scalar" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_fcn_scalar_t, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_minimize_scalar" "', argument " "2"" of type '" "fcn_scalar_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_scalar" "', argument " "2"" of type '" "fcn_scalar_t""'"); - } else { - fcn_scalar_t * temp = reinterpret_cast< fcn_scalar_t * >(argp2); - arg2 = *temp; - if (SWIG_IsNewObj(res2)) delete temp; - } - } - { - res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IMinimizer_minimize_scalar" "', argument " "3"" of type '" "mumufit::Parameters""'"); - } - if (!argp3) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_scalar" "', argument " "3"" of type '" "mumufit::Parameters""'"); - } else { - mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp3); - arg3 = *temp; - if (SWIG_IsNewObj(res3)) delete temp; - } + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitOptions_setStepFactor" "', argument " "1"" of type '" "FitOptions *""'"); } - result = (arg1)->minimize_scalar(arg2,arg3); - resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); + arg1 = reinterpret_cast< FitOptions * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitOptions_setStepFactor" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setStepFactor(arg2); + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_minimize_residual(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_FitOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - fcn_residual_t arg2 ; - mumufit::Parameters arg3 ; + FitOptions *arg1 = (FitOptions *) 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - void *argp3 ; - int res3 = 0 ; - PyObject *swig_obj[3] ; - mumufit::MinimizerResult result; + PyObject *swig_obj[1] ; - if (!SWIG_Python_UnpackTuple(args, "IMinimizer_minimize_residual", 3, 3, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FitOptions, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimize_residual" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_fcn_residual_t, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_minimize_residual" "', argument " "2"" of type '" "fcn_residual_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_residual" "', argument " "2"" of type '" "fcn_residual_t""'"); - } else { - fcn_residual_t * temp = reinterpret_cast< fcn_residual_t * >(argp2); - arg2 = *temp; - if (SWIG_IsNewObj(res2)) delete temp; - } - } - { - res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IMinimizer_minimize_residual" "', argument " "3"" of type '" "mumufit::Parameters""'"); - } - if (!argp3) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_minimize_residual" "', argument " "3"" of type '" "mumufit::Parameters""'"); - } else { - mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp3); - arg3 = *temp; - if (SWIG_IsNewObj(res3)) delete temp; - } + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FitOptions" "', argument " "1"" of type '" "FitOptions *""'"); } - result = (arg1)->minimize_residual(arg2,arg3); - resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); + arg1 = reinterpret_cast< FitOptions * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *FitOptions_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_FitOptions, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *FitOptions_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + return SWIG_Python_InitShadowInstance(args); +} + +SWIGINTERN PyObject *_wrap_new_Minimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; + mumufit::Minimizer *result = 0 ; - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_clear" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - (arg1)->clear(); - resultobj = SWIG_Py_Void(); + if (!SWIG_Python_UnpackTuple(args, "new_Minimizer", 0, 0, 0)) SWIG_fail; + result = (mumufit::Minimizer *)new mumufit::Minimizer(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__Minimizer, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_Minimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - double result; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minValue" "', argument " "1"" of type '" "IMinimizer const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Minimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - result = (double)((IMinimizer const *)arg1)->minValue(); - resultobj = SWIG_From_double(static_cast< double >(result)); + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_setOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; std::string *arg2 = 0 ; + std::string *arg3 = 0 ; + std::string *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; - PyObject *swig_obj[2] ; + int res3 = SWIG_OLDOBJ ; + int res4 = SWIG_OLDOBJ ; - if (!SWIG_Python_UnpackTuple(args, "IMinimizer_setOptions", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setOptions" "', argument " "1"" of type '" "IMinimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); } if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); } arg2 = ptr; } - (arg1)->setOptions((std::string const &)*arg2); + { + std::string *ptr = (std::string *)0; + res3 = SWIG_AsPtr_std_string(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); + } + arg3 = ptr; + } + { + std::string *ptr = (std::string *)0; + res4 = SWIG_AsPtr_std_string(swig_obj[3], &ptr); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Minimizer_setMinimizer" "', argument " "4"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "4"" of type '" "std::string const &""'"); + } + arg4 = ptr; + } + (arg1)->setMinimizer((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; + if (SWIG_IsNewObj(res3)) delete arg3; + if (SWIG_IsNewObj(res4)) delete arg4; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; + if (SWIG_IsNewObj(res3)) delete arg3; + if (SWIG_IsNewObj(res4)) delete arg4; return NULL; } -SWIGINTERN PyObject *IMinimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_IMinimizer, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *_wrap_new_MinimizerCatalog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalog *result = 0 ; - - if (!SWIG_Python_UnpackTuple(args, "new_MinimizerCatalog", 0, 0, 0)) SWIG_fail; - result = (MinimizerCatalog *)new MinimizerCatalog(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerCatalog, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalog_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + std::string *arg2 = 0 ; + std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - PyObject *swig_obj[1] ; - std::string result; + int res2 = SWIG_OLDOBJ ; + int res3 = SWIG_OLDOBJ ; - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_toString" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); - result = ((MinimizerCatalog const *)arg1)->toString(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + { + std::string *ptr = (std::string *)0; + res3 = SWIG_AsPtr_std_string(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "3"" of type '" "std::string const &""'"); + } + arg3 = ptr; + } + (arg1)->setMinimizer((std::string const &)*arg2,(std::string const &)*arg3); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + if (SWIG_IsNewObj(res3)) delete arg3; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; + if (SWIG_IsNewObj(res3)) delete arg3; return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerCatalog_minimizerNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - PyObject *swig_obj[1] ; - std::vector< std::string,std::allocator< std::string > > result; + int res2 = SWIG_OLDOBJ ; - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_minimizerNames" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); - } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); - result = ((MinimizerCatalog const *)arg1)->minimizerNames(); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalog_algorithmNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject *swig_obj[2] ; - std::vector< std::string,std::allocator< std::string > > result; - - if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_algorithmNames", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); + if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_algorithmNames" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); } if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "std::string const &""'"); } arg2 = ptr; } - result = ((MinimizerCatalog const *)arg1)->algorithmNames((std::string const &)*arg2); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); + (arg1)->setMinimizer((std::string const &)*arg2); + resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: @@ -27208,110 +27028,171 @@ fail: } -SWIGINTERN PyObject *_wrap_MinimizerCatalog_algorithmDescriptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; - std::string *arg2 = 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + IMinimizer *arg2 = (IMinimizer *) 0 ; void *argp1 = 0 ; int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject *swig_obj[2] ; - std::vector< std::string,std::allocator< std::string > > result; + void *argp2 = 0 ; + int res2 = 0 ; - if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_algorithmDescriptions", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); + if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "IMinimizer *""'"); } - result = ((MinimizerCatalog const *)arg1)->algorithmDescriptions((std::string const &)*arg2); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); - if (SWIG_IsNewObj(res2)) delete arg2; + arg2 = reinterpret_cast< IMinimizer * >(argp2); + (arg1)->setMinimizer(arg2); + resultobj = SWIG_Py_Void(); return resultobj; fail: - if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_MinimizerCatalog_minimizerInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject *swig_obj[2] ; - MinimizerInfo *result = 0 ; +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; - if (!SWIG_Python_UnpackTuple(args, "MinimizerCatalog_minimizerInfo", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "1"" of type '" "MinimizerCatalog const *""'"); + if (!(argc = SWIG_Python_UnpackTuple(args, "Minimizer_setMinimizer", 0, 4, argv))) SWIG_fail; + --argc; + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_IMinimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Minimizer_setMinimizer__SWIG_3(self, argc, argv); + } + } } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "2"" of type '" "std::string const &""'"); + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Minimizer_setMinimizer__SWIG_2(self, argc, argv); + } } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalog_minimizerInfo" "', argument " "2"" of type '" "std::string const &""'"); + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Minimizer_setMinimizer__SWIG_1(self, argc, argv); + } + } } - arg2 = ptr; } - result = (MinimizerInfo *) &((MinimizerCatalog const *)arg1)->minimizerInfo((std::string const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerInfo, 0 | 0 ); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mumufit__Minimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[3], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Minimizer_setMinimizer__SWIG_0(self, argc, argv); + } + } + } + } + } + fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Minimizer_setMinimizer'.\n" + " Possible C/C++ prototypes are:\n" + " mumufit::Minimizer::setMinimizer(std::string const &,std::string const &,std::string const &)\n" + " mumufit::Minimizer::setMinimizer(std::string const &,std::string const &)\n" + " mumufit::Minimizer::setMinimizer(std::string const &)\n" + " mumufit::Minimizer::setMinimizer(IMinimizer *)\n"); + return 0; } -SWIGINTERN PyObject *_wrap_delete_MinimizerCatalog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Minimizer_minimize_cpp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - MinimizerCatalog *arg1 = (MinimizerCatalog *) 0 ; + mumufit::Minimizer *arg1 = (mumufit::Minimizer *) 0 ; + PyCallback *arg2 = 0 ; + mumufit::Parameters *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - PyObject *swig_obj[1] ; + void *argp2 = 0 ; + int res2 = 0 ; + void *argp3 = 0 ; + int res3 = 0 ; + PyObject *swig_obj[3] ; + mumufit::MinimizerResult result; - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_MinimizerCatalog, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_Python_UnpackTuple(args, "Minimizer_minimize_cpp", 3, 3, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_mumufit__Minimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_MinimizerCatalog" "', argument " "1"" of type '" "MinimizerCatalog *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_minimize_cpp" "', argument " "1"" of type '" "mumufit::Minimizer *""'"); } - arg1 = reinterpret_cast< MinimizerCatalog * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); + arg1 = reinterpret_cast< mumufit::Minimizer * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_PyCallback, 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_minimize_cpp" "', argument " "2"" of type '" "PyCallback &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_minimize_cpp" "', argument " "2"" of type '" "PyCallback &""'"); + } + arg2 = reinterpret_cast< PyCallback * >(argp2); + res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Minimizer_minimize_cpp" "', argument " "3"" of type '" "mumufit::Parameters const &""'"); + } + if (!argp3) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minimizer_minimize_cpp" "', argument " "3"" of type '" "mumufit::Parameters const &""'"); + } + arg3 = reinterpret_cast< mumufit::Parameters * >(argp3); + result = (arg1)->minimize(*arg2,(mumufit::Parameters const &)*arg3); + resultobj = SWIG_NewPointerObj((new mumufit::MinimizerResult(static_cast< const mumufit::MinimizerResult& >(result))), SWIGTYPE_p_mumufit__MinimizerResult, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *MinimizerCatalog_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *Minimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_MinimizerCatalog, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_mumufit__Minimizer, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *MinimizerCatalog_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *Minimizer_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } @@ -27576,8 +27457,278 @@ SWIGINTERN PyObject *_wrap_delete_MinimizerFactory(PyObject *SWIGUNUSEDPARM(self if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_MinimizerFactory" "', argument " "1"" of type '" "MinimizerFactory *""'"); } - arg1 = reinterpret_cast< MinimizerFactory * >(argp1); - delete arg1; + arg1 = reinterpret_cast< MinimizerFactory * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *MinimizerFactory_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_MinimizerFactory, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *MinimizerFactory_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + return SWIG_Python_InitShadowInstance(args); +} + +SWIGINTERN PyObject *_wrap_new_PyCallback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PyObject *arg1 = (PyObject *) 0 ; + PyCallback::CallbackType arg2 ; + int val2 ; + int ecode2 = 0 ; + PyCallback *result = 0 ; + + if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; + arg1 = swig_obj[0]; + ecode2 = SWIG_AsVal_int(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_PyCallback" "', argument " "2"" of type '" "PyCallback::CallbackType""'"); + } + arg2 = static_cast< PyCallback::CallbackType >(val2); + if ( arg1 != Py_None ) { + /* subclassed */ + result = (PyCallback *)new SwigDirector_PyCallback(arg1,arg2); + } else { + result = (PyCallback *)new PyCallback(arg2); + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PyCallback, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_PyCallback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PyObject *arg1 = (PyObject *) 0 ; + PyCallback *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + arg1 = swig_obj[0]; + if ( arg1 != Py_None ) { + /* subclassed */ + result = (PyCallback *)new SwigDirector_PyCallback(arg1); + } else { + result = (PyCallback *)new PyCallback(); + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PyCallback, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_PyCallback(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_PyCallback", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + _v = (argv[0] != 0); + if (_v) { + return _wrap_new_PyCallback__SWIG_1(self, argc, argv); + } + } + if (argc == 2) { + int _v; + _v = (argv[0] != 0); + if (_v) { + { + int res = SWIG_AsVal_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_PyCallback__SWIG_0(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_PyCallback'.\n" + " Possible C/C++ prototypes are:\n" + " PyCallback::PyCallback(PyCallback::CallbackType)\n" + " PyCallback::PyCallback(PyObject *)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_delete_PyCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyCallback *arg1 = (PyCallback *) 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_PyCallback, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_PyCallback" "', argument " "1"" of type '" "PyCallback *""'"); + } + arg1 = reinterpret_cast< PyCallback * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_PyCallback_callback_type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyCallback *arg1 = (PyCallback *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + PyCallback::CallbackType result; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_callback_type" "', argument " "1"" of type '" "PyCallback const *""'"); + } + arg1 = reinterpret_cast< PyCallback * >(argp1); + result = (PyCallback::CallbackType)((PyCallback const *)arg1)->callback_type(); + resultobj = SWIG_From_int(static_cast< int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_PyCallback_call_scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyCallback *arg1 = (PyCallback *) 0 ; + mumufit::Parameters arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 ; + int res2 = 0 ; + PyObject *swig_obj[2] ; + Swig::Director *director = 0; + bool upcall = false; + double result; + + if (!SWIG_Python_UnpackTuple(args, "PyCallback_call_scalar", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_call_scalar" "', argument " "1"" of type '" "PyCallback *""'"); + } + arg1 = reinterpret_cast< PyCallback * >(argp1); + { + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PyCallback_call_scalar" "', argument " "2"" of type '" "mumufit::Parameters""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PyCallback_call_scalar" "', argument " "2"" of type '" "mumufit::Parameters""'"); + } else { + mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp2); + arg2 = *temp; + if (SWIG_IsNewObj(res2)) delete temp; + } + } + director = SWIG_DIRECTOR_CAST(arg1); + upcall = (director && (director->swig_get_self()==swig_obj[0])); + try { + if (upcall) { + result = (double)(arg1)->PyCallback::call_scalar(arg2); + } else { + result = (double)(arg1)->call_scalar(arg2); + } + } catch (Swig::DirectorException&) { + SWIG_fail; + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_PyCallback_call_residuals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyCallback *arg1 = (PyCallback *) 0 ; + mumufit::Parameters arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 ; + int res2 = 0 ; + PyObject *swig_obj[2] ; + Swig::Director *director = 0; + bool upcall = false; + std::vector< double,std::allocator< double > > result; + + if (!SWIG_Python_UnpackTuple(args, "PyCallback_call_residuals", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PyCallback, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PyCallback_call_residuals" "', argument " "1"" of type '" "PyCallback *""'"); + } + arg1 = reinterpret_cast< PyCallback * >(argp1); + { + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_mumufit__Parameters, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PyCallback_call_residuals" "', argument " "2"" of type '" "mumufit::Parameters""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PyCallback_call_residuals" "', argument " "2"" of type '" "mumufit::Parameters""'"); + } else { + mumufit::Parameters * temp = reinterpret_cast< mumufit::Parameters * >(argp2); + arg2 = *temp; + if (SWIG_IsNewObj(res2)) delete temp; + } + } + director = SWIG_DIRECTOR_CAST(arg1); + upcall = (director && (director->swig_get_self()==swig_obj[0])); + try { + if (upcall) { + result = (arg1)->PyCallback::call_residuals(arg2); + } else { + result = (arg1)->call_residuals(arg2); + } + } catch (Swig::DirectorException&) { + SWIG_fail; + } + resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_disown_PyCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyCallback *arg1 = (PyCallback *) 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_PyCallback, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_PyCallback" "', argument " "1"" of type '" "PyCallback *""'"); + } + arg1 = reinterpret_cast< PyCallback * >(argp1); + { + Swig::Director *director = SWIG_DIRECTOR_CAST(arg1); + if (director) director->swig_disown(); + } + resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -27585,14 +27736,14 @@ fail: } -SWIGINTERN PyObject *MinimizerFactory_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *PyCallback_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_MinimizerFactory, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_PyCallback, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *MinimizerFactory_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *PyCallback_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } @@ -28505,54 +28656,100 @@ static PyMethodDef SwigMethods[] = { { "delete_Parameters", _wrap_delete_Parameters, METH_O, "delete_Parameters(Parameters self)"}, { "Parameters_swigregister", Parameters_swigregister, METH_O, NULL}, { "Parameters_swiginit", Parameters_swiginit, METH_VARARGS, NULL}, - { "new_PyCallback", _wrap_new_PyCallback, METH_VARARGS, "\n" - "PyCallback(PyCallback::CallbackType callback_type=SCALAR)\n" - "PyCallback::PyCallback(CallbackType callback_type=SCALAR)\n" + { "delete_IMinimizer", _wrap_delete_IMinimizer, METH_O, "\n" + "delete_IMinimizer(IMinimizer self)\n" + "IMinimizer::~IMinimizer()\n" "\n" ""}, - { "delete_PyCallback", _wrap_delete_PyCallback, METH_O, "\n" - "delete_PyCallback(PyCallback self)\n" - "PyCallback::~PyCallback()\n" + { "IMinimizer_minimizerName", _wrap_IMinimizer_minimizerName, METH_O, "\n" + "IMinimizer_minimizerName(IMinimizer self) -> std::string\n" + "virtual std::string IMinimizer::minimizerName() const =0\n" + "\n" + "return name of the minimizer \n" "\n" ""}, - { "PyCallback_callback_type", _wrap_PyCallback_callback_type, METH_O, "\n" - "PyCallback_callback_type(PyCallback self) -> PyCallback::CallbackType\n" - "PyCallback::CallbackType PyCallback::callback_type() const\n" + { "IMinimizer_algorithmName", _wrap_IMinimizer_algorithmName, METH_O, "\n" + "IMinimizer_algorithmName(IMinimizer self) -> std::string\n" + "virtual std::string IMinimizer::algorithmName() const =0\n" + "\n" + "return name of the minimization algorithm \n" "\n" ""}, - { "PyCallback_call_scalar", _wrap_PyCallback_call_scalar, METH_VARARGS, "\n" - "PyCallback_call_scalar(PyCallback self, Parameters pars) -> double\n" - "double PyCallback::call_scalar(mumufit::Parameters pars)\n" + { "IMinimizer_minimize_scalar", _wrap_IMinimizer_minimize_scalar, METH_VARARGS, "\n" + "IMinimizer_minimize_scalar(IMinimizer self, fcn_scalar_t arg2, Parameters arg3) -> MinimizerResult\n" + "mumufit::MinimizerResult IMinimizer::minimize_scalar(fcn_scalar_t, mumufit::Parameters)\n" "\n" - "Call Python callable and returns its result. Intended to be overloaded in Python.\n" + "run minimization \n" "\n" - "Parameters:\n" - "-----------\n" + ""}, + { "IMinimizer_minimize_residual", _wrap_IMinimizer_minimize_residual, METH_VARARGS, "\n" + "IMinimizer_minimize_residual(IMinimizer self, fcn_residual_t arg2, Parameters arg3) -> MinimizerResult\n" + "mumufit::MinimizerResult IMinimizer::minimize_residual(fcn_residual_t, mumufit::Parameters)\n" "\n" - "pars: \n" - "Fit parameters object (intentionally passed by value).\n" + ""}, + { "IMinimizer_clear", _wrap_IMinimizer_clear, METH_O, "\n" + "IMinimizer_clear(IMinimizer self)\n" + "virtual void IMinimizer::clear()\n" "\n" - "value of objective function. \n" + "clear resources (parameters) for consecutives minimizations \n" "\n" ""}, - { "PyCallback_call_residuals", _wrap_PyCallback_call_residuals, METH_VARARGS, "\n" - "PyCallback_call_residuals(PyCallback self, Parameters pars) -> vdouble1d_t\n" - "std::vector< double > PyCallback::call_residuals(mumufit::Parameters pars)\n" + { "IMinimizer_minValue", _wrap_IMinimizer_minValue, METH_O, "\n" + "IMinimizer_minValue(IMinimizer self) -> double\n" + "double IMinimizer::minValue() const\n" "\n" - "Call Python callable and returns its result. Intended to be overloaded in Python.\n" + "Returns minimum function value. \n" "\n" - "Parameters:\n" - "-----------\n" + ""}, + { "IMinimizer_setOptions", _wrap_IMinimizer_setOptions, METH_VARARGS, "\n" + "IMinimizer_setOptions(IMinimizer self, std::string const & options)\n" + "void IMinimizer::setOptions(const std::string &options)\n" "\n" - "pars: \n" - "Fit parameters object (intentionally passed by value).\n" + "Sets option string to the minimizer. \n" "\n" - "vector of residuals \n" + ""}, + { "IMinimizer_swigregister", IMinimizer_swigregister, METH_O, NULL}, + { "new_MinimizerCatalog", _wrap_new_MinimizerCatalog, METH_NOARGS, "\n" + "new_MinimizerCatalog() -> MinimizerCatalog\n" + "MinimizerCatalog::MinimizerCatalog()\n" "\n" ""}, - { "disown_PyCallback", _wrap_disown_PyCallback, METH_O, NULL}, - { "PyCallback_swigregister", PyCallback_swigregister, METH_O, NULL}, - { "PyCallback_swiginit", PyCallback_swiginit, METH_VARARGS, NULL}, + { "MinimizerCatalog_toString", _wrap_MinimizerCatalog_toString, METH_O, "\n" + "MinimizerCatalog_toString(MinimizerCatalog self) -> std::string\n" + "std::string MinimizerCatalog::toString() const\n" + "\n" + "Returns multiline string representing catalog content. \n" + "\n" + ""}, + { "MinimizerCatalog_minimizerNames", _wrap_MinimizerCatalog_minimizerNames, METH_O, "\n" + "MinimizerCatalog_minimizerNames(MinimizerCatalog self) -> vector_string_t\n" + "std::vector< std::string > MinimizerCatalog::minimizerNames() const\n" + "\n" + ""}, + { "MinimizerCatalog_algorithmNames", _wrap_MinimizerCatalog_algorithmNames, METH_VARARGS, "\n" + "MinimizerCatalog_algorithmNames(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t\n" + "std::vector< std::string > MinimizerCatalog::algorithmNames(const std::string &minimizerName) const\n" + "\n" + "Returns list of algorithms defined for the minimizer with a given name. \n" + "\n" + ""}, + { "MinimizerCatalog_algorithmDescriptions", _wrap_MinimizerCatalog_algorithmDescriptions, METH_VARARGS, "\n" + "MinimizerCatalog_algorithmDescriptions(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t\n" + "std::vector< std::string > MinimizerCatalog::algorithmDescriptions(const std::string &minimizerName) const\n" + "\n" + "Returns list of algorithm's descriptions for the minimizer with a given name . \n" + "\n" + ""}, + { "MinimizerCatalog_minimizerInfo", _wrap_MinimizerCatalog_minimizerInfo, METH_VARARGS, "\n" + "MinimizerCatalog_minimizerInfo(MinimizerCatalog self, std::string const & minimizerName) -> MinimizerInfo const &\n" + "const MinimizerInfo & MinimizerCatalog::minimizerInfo(const std::string &minimizerName) const\n" + "\n" + "Returns info for minimizer with given name. \n" + "\n" + ""}, + { "delete_MinimizerCatalog", _wrap_delete_MinimizerCatalog, METH_O, "delete_MinimizerCatalog(MinimizerCatalog self)"}, + { "MinimizerCatalog_swigregister", MinimizerCatalog_swigregister, METH_O, NULL}, + { "MinimizerCatalog_swiginit", MinimizerCatalog_swiginit, METH_VARARGS, NULL}, { "new_MinimizerResult", _wrap_new_MinimizerResult, METH_NOARGS, "\n" "new_MinimizerResult() -> MinimizerResult\n" "MinimizerResult::MinimizerResult()\n" @@ -28610,6 +28807,34 @@ static PyMethodDef SwigMethods[] = { { "delete_MinimizerResult", _wrap_delete_MinimizerResult, METH_O, "delete_MinimizerResult(MinimizerResult self)"}, { "MinimizerResult_swigregister", MinimizerResult_swigregister, METH_O, NULL}, { "MinimizerResult_swiginit", MinimizerResult_swiginit, METH_VARARGS, NULL}, + { "new_FitOptions", _wrap_new_FitOptions, METH_NOARGS, "\n" + "new_FitOptions() -> FitOptions\n" + "FitOptions::FitOptions()\n" + "\n" + ""}, + { "FitOptions_derivEpsilon", _wrap_FitOptions_derivEpsilon, METH_O, "\n" + "FitOptions_derivEpsilon(FitOptions self) -> double\n" + "double FitOptions::derivEpsilon() const\n" + "\n" + ""}, + { "FitOptions_setDerivEpsilon", _wrap_FitOptions_setDerivEpsilon, METH_VARARGS, "\n" + "FitOptions_setDerivEpsilon(FitOptions self, double deriv_epsilon)\n" + "void FitOptions::setDerivEpsilon(double deriv_epsilon)\n" + "\n" + ""}, + { "FitOptions_stepFactor", _wrap_FitOptions_stepFactor, METH_O, "\n" + "FitOptions_stepFactor(FitOptions self) -> double\n" + "double FitOptions::stepFactor() const\n" + "\n" + ""}, + { "FitOptions_setStepFactor", _wrap_FitOptions_setStepFactor, METH_VARARGS, "\n" + "FitOptions_setStepFactor(FitOptions self, double step_factor)\n" + "void FitOptions::setStepFactor(double step_factor)\n" + "\n" + ""}, + { "delete_FitOptions", _wrap_delete_FitOptions, METH_O, "delete_FitOptions(FitOptions self)"}, + { "FitOptions_swigregister", FitOptions_swigregister, METH_O, NULL}, + { "FitOptions_swiginit", FitOptions_swiginit, METH_VARARGS, NULL}, { "new_Minimizer", _wrap_new_Minimizer, METH_NOARGS, "\n" "new_Minimizer() -> Minimizer\n" "Minimizer::Minimizer()\n" @@ -28635,117 +28860,71 @@ static PyMethodDef SwigMethods[] = { ""}, { "Minimizer_swigregister", Minimizer_swigregister, METH_O, NULL}, { "Minimizer_swiginit", Minimizer_swiginit, METH_VARARGS, NULL}, - { "delete_IMinimizer", _wrap_delete_IMinimizer, METH_O, "\n" - "delete_IMinimizer(IMinimizer self)\n" - "IMinimizer::~IMinimizer()\n" - "\n" - ""}, - { "IMinimizer_minimizerName", _wrap_IMinimizer_minimizerName, METH_O, "\n" - "IMinimizer_minimizerName(IMinimizer self) -> std::string\n" - "virtual std::string IMinimizer::minimizerName() const =0\n" - "\n" - "return name of the minimizer \n" - "\n" - ""}, - { "IMinimizer_algorithmName", _wrap_IMinimizer_algorithmName, METH_O, "\n" - "IMinimizer_algorithmName(IMinimizer self) -> std::string\n" - "virtual std::string IMinimizer::algorithmName() const =0\n" - "\n" - "return name of the minimization algorithm \n" - "\n" - ""}, - { "IMinimizer_minimize_scalar", _wrap_IMinimizer_minimize_scalar, METH_VARARGS, "\n" - "IMinimizer_minimize_scalar(IMinimizer self, fcn_scalar_t arg2, Parameters arg3) -> MinimizerResult\n" - "mumufit::MinimizerResult IMinimizer::minimize_scalar(fcn_scalar_t, mumufit::Parameters)\n" - "\n" - "run minimization \n" - "\n" - ""}, - { "IMinimizer_minimize_residual", _wrap_IMinimizer_minimize_residual, METH_VARARGS, "\n" - "IMinimizer_minimize_residual(IMinimizer self, fcn_residual_t arg2, Parameters arg3) -> MinimizerResult\n" - "mumufit::MinimizerResult IMinimizer::minimize_residual(fcn_residual_t, mumufit::Parameters)\n" - "\n" - ""}, - { "IMinimizer_clear", _wrap_IMinimizer_clear, METH_O, "\n" - "IMinimizer_clear(IMinimizer self)\n" - "virtual void IMinimizer::clear()\n" + { "MinimizerFactory_createMinimizer", _wrap_MinimizerFactory_createMinimizer, METH_VARARGS, "MinimizerFactory_createMinimizer(std::string const & minimizerName, std::string const & algorithmType=\"\", std::string const & optionString=\"\") -> IMinimizer"}, + { "MinimizerFactory_printCatalog", _wrap_MinimizerFactory_printCatalog, METH_NOARGS, "MinimizerFactory_printCatalog()"}, + { "MinimizerFactory_catalogToString", _wrap_MinimizerFactory_catalogToString, METH_NOARGS, "MinimizerFactory_catalogToString() -> std::string"}, + { "MinimizerFactory_catalogDetailsToString", _wrap_MinimizerFactory_catalogDetailsToString, METH_NOARGS, "MinimizerFactory_catalogDetailsToString() -> std::string"}, + { "MinimizerFactory_catalog", _wrap_MinimizerFactory_catalog, METH_NOARGS, "MinimizerFactory_catalog() -> MinimizerCatalog"}, + { "new_MinimizerFactory", _wrap_new_MinimizerFactory, METH_NOARGS, "\n" + "new_MinimizerFactory() -> MinimizerFactory\n" "\n" - "clear resources (parameters) for consecutives minimizations \n" "\n" - ""}, - { "IMinimizer_minValue", _wrap_IMinimizer_minValue, METH_O, "\n" - "IMinimizer_minValue(IMinimizer self) -> double\n" - "double IMinimizer::minValue() const\n" + "Factory to create minimizers.\n" "\n" - "Returns minimum function value. \n" + "C++ includes: MinimizerFactory.h\n" "\n" ""}, - { "IMinimizer_setOptions", _wrap_IMinimizer_setOptions, METH_VARARGS, "\n" - "IMinimizer_setOptions(IMinimizer self, std::string const & options)\n" - "void IMinimizer::setOptions(const std::string &options)\n" - "\n" - "Sets option string to the minimizer. \n" + { "delete_MinimizerFactory", _wrap_delete_MinimizerFactory, METH_O, "delete_MinimizerFactory(MinimizerFactory self)"}, + { "MinimizerFactory_swigregister", MinimizerFactory_swigregister, METH_O, NULL}, + { "MinimizerFactory_swiginit", MinimizerFactory_swiginit, METH_VARARGS, NULL}, + { "new_PyCallback", _wrap_new_PyCallback, METH_VARARGS, "\n" + "PyCallback(PyCallback::CallbackType callback_type=SCALAR)\n" + "PyCallback::PyCallback(CallbackType callback_type=SCALAR)\n" "\n" ""}, - { "IMinimizer_swigregister", IMinimizer_swigregister, METH_O, NULL}, - { "new_MinimizerCatalog", _wrap_new_MinimizerCatalog, METH_NOARGS, "\n" - "new_MinimizerCatalog() -> MinimizerCatalog\n" - "MinimizerCatalog::MinimizerCatalog()\n" + { "delete_PyCallback", _wrap_delete_PyCallback, METH_O, "\n" + "delete_PyCallback(PyCallback self)\n" + "PyCallback::~PyCallback()\n" "\n" ""}, - { "MinimizerCatalog_toString", _wrap_MinimizerCatalog_toString, METH_O, "\n" - "MinimizerCatalog_toString(MinimizerCatalog self) -> std::string\n" - "std::string MinimizerCatalog::toString() const\n" - "\n" - "Returns multiline string representing catalog content. \n" + { "PyCallback_callback_type", _wrap_PyCallback_callback_type, METH_O, "\n" + "PyCallback_callback_type(PyCallback self) -> PyCallback::CallbackType\n" + "PyCallback::CallbackType PyCallback::callback_type() const\n" "\n" ""}, - { "MinimizerCatalog_minimizerNames", _wrap_MinimizerCatalog_minimizerNames, METH_O, "\n" - "MinimizerCatalog_minimizerNames(MinimizerCatalog self) -> vector_string_t\n" - "std::vector< std::string > MinimizerCatalog::minimizerNames() const\n" + { "PyCallback_call_scalar", _wrap_PyCallback_call_scalar, METH_VARARGS, "\n" + "PyCallback_call_scalar(PyCallback self, Parameters pars) -> double\n" + "double PyCallback::call_scalar(mumufit::Parameters pars)\n" "\n" - ""}, - { "MinimizerCatalog_algorithmNames", _wrap_MinimizerCatalog_algorithmNames, METH_VARARGS, "\n" - "MinimizerCatalog_algorithmNames(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t\n" - "std::vector< std::string > MinimizerCatalog::algorithmNames(const std::string &minimizerName) const\n" + "Call Python callable and returns its result. Intended to be overloaded in Python.\n" "\n" - "Returns list of algorithms defined for the minimizer with a given name. \n" + "Parameters:\n" + "-----------\n" "\n" - ""}, - { "MinimizerCatalog_algorithmDescriptions", _wrap_MinimizerCatalog_algorithmDescriptions, METH_VARARGS, "\n" - "MinimizerCatalog_algorithmDescriptions(MinimizerCatalog self, std::string const & minimizerName) -> vector_string_t\n" - "std::vector< std::string > MinimizerCatalog::algorithmDescriptions(const std::string &minimizerName) const\n" + "pars: \n" + "Fit parameters object (intentionally passed by value).\n" "\n" - "Returns list of algorithm's descriptions for the minimizer with a given name . \n" + "value of objective function. \n" "\n" ""}, - { "MinimizerCatalog_minimizerInfo", _wrap_MinimizerCatalog_minimizerInfo, METH_VARARGS, "\n" - "MinimizerCatalog_minimizerInfo(MinimizerCatalog self, std::string const & minimizerName) -> MinimizerInfo const &\n" - "const MinimizerInfo & MinimizerCatalog::minimizerInfo(const std::string &minimizerName) const\n" - "\n" - "Returns info for minimizer with given name. \n" + { "PyCallback_call_residuals", _wrap_PyCallback_call_residuals, METH_VARARGS, "\n" + "PyCallback_call_residuals(PyCallback self, Parameters pars) -> vdouble1d_t\n" + "std::vector< double > PyCallback::call_residuals(mumufit::Parameters pars)\n" "\n" - ""}, - { "delete_MinimizerCatalog", _wrap_delete_MinimizerCatalog, METH_O, "delete_MinimizerCatalog(MinimizerCatalog self)"}, - { "MinimizerCatalog_swigregister", MinimizerCatalog_swigregister, METH_O, NULL}, - { "MinimizerCatalog_swiginit", MinimizerCatalog_swiginit, METH_VARARGS, NULL}, - { "MinimizerFactory_createMinimizer", _wrap_MinimizerFactory_createMinimizer, METH_VARARGS, "MinimizerFactory_createMinimizer(std::string const & minimizerName, std::string const & algorithmType=\"\", std::string const & optionString=\"\") -> IMinimizer"}, - { "MinimizerFactory_printCatalog", _wrap_MinimizerFactory_printCatalog, METH_NOARGS, "MinimizerFactory_printCatalog()"}, - { "MinimizerFactory_catalogToString", _wrap_MinimizerFactory_catalogToString, METH_NOARGS, "MinimizerFactory_catalogToString() -> std::string"}, - { "MinimizerFactory_catalogDetailsToString", _wrap_MinimizerFactory_catalogDetailsToString, METH_NOARGS, "MinimizerFactory_catalogDetailsToString() -> std::string"}, - { "MinimizerFactory_catalog", _wrap_MinimizerFactory_catalog, METH_NOARGS, "MinimizerFactory_catalog() -> MinimizerCatalog"}, - { "new_MinimizerFactory", _wrap_new_MinimizerFactory, METH_NOARGS, "\n" - "new_MinimizerFactory() -> MinimizerFactory\n" + "Call Python callable and returns its result. Intended to be overloaded in Python.\n" "\n" + "Parameters:\n" + "-----------\n" "\n" - "Factory to create minimizers.\n" + "pars: \n" + "Fit parameters object (intentionally passed by value).\n" "\n" - "C++ includes: MinimizerFactory.h\n" + "vector of residuals \n" "\n" ""}, - { "delete_MinimizerFactory", _wrap_delete_MinimizerFactory, METH_O, "delete_MinimizerFactory(MinimizerFactory self)"}, - { "MinimizerFactory_swigregister", MinimizerFactory_swigregister, METH_O, NULL}, - { "MinimizerFactory_swiginit", MinimizerFactory_swiginit, METH_VARARGS, NULL}, + { "disown_PyCallback", _wrap_disown_PyCallback, METH_O, NULL}, + { "PyCallback_swigregister", PyCallback_swigregister, METH_O, NULL}, + { "PyCallback_swiginit", PyCallback_swiginit, METH_VARARGS, NULL}, { NULL, NULL, 0, NULL } }; @@ -28757,6 +28936,7 @@ static PyMethodDef SwigMethods_proxydocs[] = { /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ static swig_type_info _swigt__p_AttLimits = {"_p_AttLimits", "AttLimits *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_FitOptions = {"_p_FitOptions", "FitOptions *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IMinimizer = {"_p_IMinimizer", "IMinimizer *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_MinimizerCatalog = {"_p_MinimizerCatalog", "MinimizerCatalog *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_MinimizerFactory = {"_p_MinimizerFactory", "MinimizerFactory *", 0, 0, (void*)0, 0}; @@ -28818,6 +28998,7 @@ static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0 static swig_type_info *swig_type_initial[] = { &_swigt__p_AttLimits, + &_swigt__p_FitOptions, &_swigt__p_IMinimizer, &_swigt__p_MinimizerCatalog, &_swigt__p_MinimizerFactory, @@ -28879,6 +29060,7 @@ static swig_type_info *swig_type_initial[] = { }; static swig_cast_info _swigc__p_AttLimits[] = { {&_swigt__p_AttLimits, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_FitOptions[] = { {&_swigt__p_FitOptions, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IMinimizer[] = { {&_swigt__p_IMinimizer, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_MinimizerCatalog[] = { {&_swigt__p_MinimizerCatalog, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_MinimizerFactory[] = { {&_swigt__p_MinimizerFactory, 0, 0, 0},{0, 0, 0, 0}}; @@ -28940,6 +29122,7 @@ static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, static swig_cast_info *swig_cast_initial[] = { _swigc__p_AttLimits, + _swigc__p_FitOptions, _swigc__p_IMinimizer, _swigc__p_MinimizerCatalog, _swigc__p_MinimizerFactory, -- GitLab