*/
#include <math.h>
+#include <string.h>
#include <gsl/gsl_errno.h>
#include <gsl/gsl_sf.h>
return gsl_sf_sinc(x / M_PI);
}
+static int NP;
static double *INPUT; /* dyanmic array, on main's stack */
static double PREP[NPREP];
CALCULATE_F_G;
double e = 0;
+ int P;
for (P=0; P<NP-3; P++) {
double P_cost;
CALCULATE_COST;
double *x = xp;
int i;
double step[NX];
- gsl_ran_dir_nd(rng, N,step);
- for (i=0; i<N; i++)
+ gsl_ran_dir_nd(rng, NX, step);
+ for (i=0; i<NX; i++)
x[i] += step_size * step[i];
//printf("\n cb_step %p %10.7f [", xp, step_size);
//for (i=0; i<N; i++) printf(" %10.7f,", step[i]);
const double *x=xp, *y=yp;
int i;
double s;
- for (i=0, s=0; i<N; i++) {
+ for (i=0, s=0; i<NX; i++) {
double d = x[i] - y[i];
s += d*d;
}
return sqrt(s);
}
-static void printcore(const double *x) {
+static void printcore(const double *X) {
int i;
- double F[N];
- X_EXTRACT;
- F_POPULATE;
printf("[");
- for (i=0; i<6; i++) printf(" %.18g,", x[i]);
- for (i=0; i<6; i++) printf(" %.18g,", F[i]);
+ for (i=0; i<NX; i++) printf(" %.18g,", X[i]);
printf(" ]\n");
}
return v;
}
-int main(int argc, const char *const argv) {
+int main(int argc, const char *const *argv) {
double epsilon;
int i;