octave changed Octave_map to octave_map a while back, and 4.0 dropped it. 
The following patch fixes and compiles with octave 3.8.2 and 4.0.0.

diff -up nlopt-2.4.2/octave/nlopt_optimize-oct.cc.octave4
nlopt-2.4.2/octave/nlopt_optimize-oct.cc
--- nlopt-2.4.2/octave/nlopt_optimize-oct.cc.octave4    2014-05-20
12:35:58.000000000 -0600
+++ nlopt-2.4.2/octave/nlopt_optimize-oct.cc    2015-07-07
11:33:11.801584347 -0600
@@ -29,7 +29,7 @@
 #include "nlopt.h"
 #include "nlopt_optimize_usage.h"

-static int struct_val_default(Octave_map &m, const std::string& k,
+static int struct_val_default(octave_map &m, const std::string& k,
                                 int dflt)
 {
   if (m.contains(k)) {
@@ -39,7 +39,7 @@ static int struct_val_default(Octave_map
   return dflt;
 }

-static double struct_val_default(Octave_map &m, const std::string& k,
+static double struct_val_default(octave_map &m, const std::string& k,
                                 double dflt)
 {
   if (m.contains(k)) {
@@ -49,7 +49,7 @@ static double struct_val_default(Octave_
   return dflt;
 }

-static Matrix struct_val_default(Octave_map &m, const std::string& k,
+static Matrix struct_val_default(octave_map &m, const std::string& k,
                                 Matrix &dflt)
 {
   if (m.contains(k)) {
@@ -140,7 +140,7 @@ static double user_function1(unsigned n,

 #define CHECK1(cond, msg) if (!(cond)) { fprintf(stderr, msg "\n\n");
nlopt_destroy(opt); nlopt_destroy(local_opt); return NULL; }

-nlopt_opt make_opt(Octave_map &opts, int n)
+nlopt_opt make_opt(octave_map &opts, int n)
 {
   nlopt_opt opt = NULL, local_opt = NULL;

@@ -195,7 +195,7 @@ nlopt_opt make_opt(Octave_map &opts, int
     CHECK1(opts.contents("local_optimizer").length() == 1
          && (opts.contents("local_optimizer"))(0).is_map(),
          "opt.local_optimizer must be a structure");
-    Octave_map local_opts = (opts.contents("local_optimizer"))(0).map_value();
+    octave_map local_opts = (opts.contents("local_optimizer"))(0).map_value();
     CHECK1((local_opt = make_opt(local_opts, n)),
          "error initializing local optimizer");
     nlopt_set_local_optimizer(opt, local_opt);
@@ -216,7 +216,7 @@ DEFUN_DLD(nlopt_optimize, args, nargout,
   CHECK(args.length() == 2 && nargout <= 3, "wrong number of args");

   CHECK(args(0).is_map(), "opt must be structure")
-  Octave_map opts = args(0).map_value();
+  octave_map opts = args(0).map_value();

   CHECK(args(1).is_real_matrix() || args(1).is_real_scalar(),
        "x must be real vector");



_______________________________________________
NLopt-discuss mailing list
NLopt-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to