From 168b54aa92d433e23c4da7bd270438fbd1260aa5 Mon Sep 17 00:00:00 2001 From: "Steven G. Johnson" Date: Sat, 2 Nov 2013 14:16:37 -0400 Subject: [PATCH] numpy 1.6 compatibility, ESCH matlab help --- .gitignore | 1 + octave/Makefile.am | 2 +- octave/NLOPT_GN_ESCH.m | 5 +++++ swig/nlopt-python.i | 6 +++++- 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 octave/NLOPT_GN_ESCH.m diff --git a/.gitignore b/.gitignore index 1b31c3d..a72addf 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ aclocal.m4 depcomp missing py-compile +compile diff --git a/octave/Makefile.am b/octave/Makefile.am index 4eaf76a..695491c 100644 --- a/octave/Makefile.am +++ b/octave/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/api -I$(top_srcdir)/util -MFILES = NLOPT_GN_DIRECT.m NLOPT_GN_DIRECT_L.m NLOPT_GN_DIRECT_L_RAND.m NLOPT_GN_DIRECT_NOSCAL.m NLOPT_GN_DIRECT_L_NOSCAL.m NLOPT_GN_DIRECT_L_RAND_NOSCAL.m NLOPT_GN_ORIG_DIRECT.m NLOPT_GN_ORIG_DIRECT_L.m NLOPT_GD_STOGO.m NLOPT_GD_STOGO_RAND.m NLOPT_LD_LBFGS_NOCEDAL.m NLOPT_LD_LBFGS.m NLOPT_LN_PRAXIS.m NLOPT_LD_VAR1.m NLOPT_LD_VAR2.m NLOPT_LD_TNEWTON.m NLOPT_LD_TNEWTON_RESTART.m NLOPT_LD_TNEWTON_PRECOND.m NLOPT_LD_TNEWTON_PRECOND_RESTART.m NLOPT_GN_CRS2_LM.m NLOPT_GN_MLSL.m NLOPT_GD_MLSL.m NLOPT_GN_MLSL_LDS.m NLOPT_GD_MLSL_LDS.m NLOPT_LD_MMA.m NLOPT_LN_COBYLA.m NLOPT_LN_NEWUOA.m NLOPT_LN_NEWUOA_BOUND.m NLOPT_LN_NELDERMEAD.m NLOPT_LN_SBPLX.m NLOPT_LN_AUGLAG.m NLOPT_LD_AUGLAG.m NLOPT_LN_AUGLAG_EQ.m NLOPT_LD_AUGLAG_EQ.m NLOPT_LN_BOBYQA.m NLOPT_GN_ISRES.m NLOPT_AUGLAG.m NLOPT_AUGLAG_EQ.m NLOPT_G_MLSL.m NLOPT_G_MLSL_LDS.m NLOPT_LD_SLSQP.m NLOPT_LD_CCSAQ.m +MFILES = NLOPT_GN_DIRECT.m NLOPT_GN_DIRECT_L.m NLOPT_GN_DIRECT_L_RAND.m NLOPT_GN_DIRECT_NOSCAL.m NLOPT_GN_DIRECT_L_NOSCAL.m NLOPT_GN_DIRECT_L_RAND_NOSCAL.m NLOPT_GN_ORIG_DIRECT.m NLOPT_GN_ORIG_DIRECT_L.m NLOPT_GD_STOGO.m NLOPT_GD_STOGO_RAND.m NLOPT_LD_LBFGS_NOCEDAL.m NLOPT_LD_LBFGS.m NLOPT_LN_PRAXIS.m NLOPT_LD_VAR1.m NLOPT_LD_VAR2.m NLOPT_LD_TNEWTON.m NLOPT_LD_TNEWTON_RESTART.m NLOPT_LD_TNEWTON_PRECOND.m NLOPT_LD_TNEWTON_PRECOND_RESTART.m NLOPT_GN_CRS2_LM.m NLOPT_GN_MLSL.m NLOPT_GD_MLSL.m NLOPT_GN_MLSL_LDS.m NLOPT_GD_MLSL_LDS.m NLOPT_LD_MMA.m NLOPT_LN_COBYLA.m NLOPT_LN_NEWUOA.m NLOPT_LN_NEWUOA_BOUND.m NLOPT_LN_NELDERMEAD.m NLOPT_LN_SBPLX.m NLOPT_LN_AUGLAG.m NLOPT_LD_AUGLAG.m NLOPT_LN_AUGLAG_EQ.m NLOPT_LD_AUGLAG_EQ.m NLOPT_LN_BOBYQA.m NLOPT_GN_ISRES.m NLOPT_AUGLAG.m NLOPT_AUGLAG_EQ.m NLOPT_G_MLSL.m NLOPT_G_MLSL_LDS.m NLOPT_LD_SLSQP.m NLOPT_LD_CCSAQ.m NLOPT_GN_ESCH.m ####################################################################### # dummy C program to fool automake into making sure that CPPFLAGS etc. diff --git a/octave/NLOPT_GN_ESCH.m b/octave/NLOPT_GN_ESCH.m new file mode 100644 index 0000000..5d8f636 --- /dev/null +++ b/octave/NLOPT_GN_ESCH.m @@ -0,0 +1,5 @@ +% NLOPT_GN_ESCH: ESCH evolutionary strategy +% +% See nlopt_minimize for more information. +function val = NLOPT_GN_ESCH + val = 42; diff --git a/swig/nlopt-python.i b/swig/nlopt-python.i index caf4bc3..185507b 100644 --- a/swig/nlopt-python.i +++ b/swig/nlopt-python.i @@ -60,7 +60,6 @@ ExceptionSubclass(RoundoffLimited, %{ #define SWIG_FILE_WITH_INIT -#define array_stride(a,i) (((PyArrayObject *)a)->strides[i]) %} %include "numpy.i" %init %{ @@ -119,6 +118,11 @@ ExceptionSubclass(RoundoffLimited, static void *free_pyfunc(void *p) { Py_DECREF((PyObject*) p); return p; } static void *dup_pyfunc(void *p) { Py_INCREF((PyObject*) p); return p; } +#if NPY_API_VERSION < 0x00000007 +# define NPY_ARRAY_C_CONTIGUOUS NPY_C_CONTIGUOUS +# define NPY_ARRAY_ALIGNED NPY_ALIGNED +#endif + static double func_python(unsigned n, const double *x, double *grad, void *f) { npy_intp sz = npy_intp(n), sz0 = 0, stride1 = sizeof(double); -- 2.30.2