#ifndef constgp #define constgp #define MAXPOP 500 // Number of Individuals #define MAXEVO 500 // Number of Individuals extern int POP; extern int EVO; // Number of Generations #define true 1 #define false 0 #define TRUE 1 #define FALSE 0 /* used in the driving routines */ #define PI M_PI #define THRESH_PSD 100 #define TURN_SPEED 0.5 #define TURN_ANGLE PI/12 /** 15 degree **/ #define DISTANCE 0.1 /** meters **/ #define FORWARD_SPEED 0.1 /** in 1 sec timeframe, the robot will cover 0.1 m; that's 100 cm **/ /*used in the parser*/ #define MAX_BUFF_LEN 100 #define SYNTAX_ERROR 69 #define TIMED_OUT 10000 /* used in the visual*/ #define distTableSize 56 #define NO 0 #define YES 1 #define NO_HUE -1 #define FOUND 1 #define NOTFOUND 0 #define LOW 20 #define HIGH 60 #define MIN(a,b) (ab?a:b) #define MAXHUE 255 #define MINHUE 0 #define WHITEPIX 255 #define PICHEIGHT 55 #define PICWIDTH 80 #define ILLEGALHUE 255 #define NOTDONE 0 #define DONE 1 #define FIRSTINIT 81 #define TWENTIETH 2 #define QUARTERSEC 2 #define HALFSEC 50 #define XTHRESDFLT 2 #define YTHRESDFLT 2 #define RANGEDFLT 8 #define ORANGE_HUE 62 /** orange ball **/ #define RED_HUE 42 /** red ball **/ #define STEPSIZEDFLT 1 #define ILLEGALXY -1 #define FRAMESIZEAVE 5 #define FULL 1 #define NOT_FULL 0 #define term 0 #define func 1 typedef enum { /* value 0..8 */ psdfront, psdback, psdleft, psdright, objsize, objpos, low, high, msd, /* stat-a 9..12 */ turnleft, turnright, moveforward, movebackward, /* stat-l 13..15 */ PROGN2, IF_LESS, WHILE_LESS } symtype; #define VAL_START 4 // do >not< use PSDs for now #define VAL_NUM 4 // only use: objsize .. high #define STA_START 9 #define STA_ATOM_NUM 4 #define STA_NUM 7 #define LIST_START 13 #define VALUE 1000 #define STATEMENT 1001 #define PERCENTAGE 0.1 /* The percentage of trees that would be brought over to the next generation */ #define MINIMUM_SAFE_DIS 100 /** safe distance in mm **/ #define SIM_TIMEOUT 30 /** maximum runtime in unit timesteps for any simulation **/ /* NOTE: Defines number of times a moving function is called i.e. turn right, move forward, etc*/ #define TIMESTEP 1 /** a unit step in time */ #define FULLTREE 0 #define GROWTREE 1 #define RAMP_HALF 2 #define INITDEPTH 1 #define DEPTH 7 #define PROB_REPRO 0.1 #define PROB_REPLACE 0.4 #define INTERNAL 0 /** crossover point; crossover on functions **/ #define EXTERNAL 1 /** crossover point; crossover on terminals **/ #define INF 30.0 /** used in the fitness function. max dis is 30 **/ typedef int Sym_Type; #endif