9 #endif /* __cplusplus */
11 typedef double (*direct_objective_func)(int n, const double *x,
16 DIRECT_ORIGINAL, DIRECT_GABLONSKY
20 DIRECT_INVALID_BOUNDS = -1,
21 DIRECT_MAXFEVAL_TOOBIG = -2,
22 DIRECT_INIT_FAILED = -3,
23 DIRECT_SAMPLEPOINTS_FAILED = -4,
24 DIRECT_SAMPLE_FAILED = -5,
25 DIRECT_MAXFEVAL_EXCEEDED = 1,
26 DIRECT_MAXITER_EXCEEDED = 2,
27 DIRECT_GLOBAL_FOUND = 3,
31 DIRECT_OUT_OF_MEMORY = -100,
32 DIRECT_INVALID_ARGS = -101
35 #define DIRECT_UNKNOWN_FGLOBAL (-HUGE_VAL)
36 #define DIRECT_UNKNOWN_FGLOBAL_RELTOL (0.0)
38 extern direct_return_code direct_optimize(
39 direct_objective_func f, void *f_data,
41 const double *lower_bounds, const double *upper_bounds,
43 double *x, double *fmin,
45 int max_feval, int max_iter,
46 double reltol, double abstol,
47 double volume_reltol, double sigma_reltol,
50 double fglobal_reltol,
53 direct_algorithm algorithm);
57 #endif /* __cplusplus */