diff -Naur gneural_network-0.5.0/src/gneural_network.c gneural_network/src/gneural_network.c --- gneural_network-0.5.0/src/gneural_network.c 2016-03-18 04:53:18.000000000 -0700 +++ gneural_network/src/gneural_network.c 2016-03-19 13:24:42.000000000 -0700 @@ -55,9 +55,6 @@ #include #endif -// maximum number of training point -#define MAX_TRAINING_POINTS 8 - // maximum allowed number of inputs per neuron #define MAX_IN 16 @@ -67,9 +64,6 @@ // maximum number of layers #define MAX_NUM_LAYERS 16 -// maximum number of points in output file -#define MAX_NUM_POINTS 64 - // definition of various internal types #define OFF 0 #define ON 1 @@ -143,13 +137,13 @@ double WMIN; double WMAX; -double X[MAX_TRAINING_POINTS]; -double Y[MAX_TRAINING_POINTS]; +double *X; +double *Y; double KBTMIN; double KBTMAX; double GAMMA; double ACCURACY; -double OUTPUT_X[MAX_NUM_POINTS]; +double *OUTPUT_X; FILE *fp; diff -Naur gneural_network-0.5.0/src/parser.h gneural_network/src/parser.h --- gneural_network-0.5.0/src/parser.h 2016-03-18 04:52:09.000000000 -0700 +++ gneural_network/src/parser.h 2016-03-19 13:24:53.000000000 -0700 @@ -313,13 +313,10 @@ printf("NUMBER_OF_TRAINING_POINTS must be positive!\n"); exit(0); } - if(ndata>MAX_TRAINING_POINTS){ - printf("NUMBER_OF_TRAINING_POINTS is too large!\n"); - printf("please increase MAX_TRAINING_POINTS and recompile!\n"); - exit(0); - } printf("NUMBER_OF_TRAINING_POINTS = %d [OK]\n",ndata); NDATA=ndata; + X=(double *)malloc(sizeof(double)*NDATA); + Y=(double *)malloc(sizeof(double)*NDATA); } // specify the training points for supervised learning // syntax: TRAINING_POINT IN/OUT index value @@ -541,6 +538,7 @@ exit(0); } printf("OPTIMIZATION METHOD = GRADIENT DESCENT %d %d %g %g [OK]\n",nxw,maxiter,gamma,eps); + OPTIMIZATION_METHOD=GRADIENT_DESCENT; VERBOSITY=verbosity; NXW=nxw; MAXITER=maxiter; @@ -600,6 +598,7 @@ exit(0); } printf("OPTIMIZATION METHOD = GENETIC ALGORITHM %d %d %g %g [OK]\n",nmax,npop,rate,eps); + OPTIMIZATION_METHOD=GENETIC_ALGORITHM; VERBOSITY=verbosity; NMAX=nmax; NPOP=npop; @@ -645,13 +644,9 @@ printf("NUMBER_OF_POINTS must be positive!\n"); exit(0); } - if(num>MAX_NUM_POINTS){ - printf("NUMBER_OF_POINTS is too large!\n"); - printf("please increase MAX_NUM_POINTS and recompile!\n"); - exit(0); - } printf("NUMBER OF POINTS = %d [OK]\n",num); NUMBER_OF_POINTS=num; + OUTPUT_X=(double *)malloc(sizeof(double)*NUMBER_OF_POINTS); } // specify the input points for the output file // syntax: INPUT_POINT ind val