📄 mncommon.h
字号:
/*======================================================================+| PGPC: Parallel Genetic Programming in C || (c) 1995 Genetic Algorithm Technology Corp. all rights reserved || written by David Andre |+======================================================================*//*======================================================================+| FILE: mncommon.h || DESCRIPTION: Various parallel parameters. || | | REVISIONS: || Jan 24, 1995: Works as of today, no known bugs. |+======================================================================*//*==============================+| MACROS |+==============================*/#ifdef __MAIN__#define EXTERN#else #define EXTERN extern#endif/* Debugging flags, etc etc */#define REPORTACK_MODE 0/* Appropriate #defines for sizes & types (maybe) */#define NUMNEIGHBORS 4#define MSGHDRTYPE int#define MSGHDRSIZE 11#define REPORTTYPE int#define TXTSTRLEN 128#define NUM_PROCESSORS 64/* Symbolic names handy constants. */#define TRUE 1#define FALSE 0/* Temporary #defines (should be read from a file eventually) */#define PROGRAMTYPE Individual#define PROGRAMSIZE 1#define POPULATIONSIZE 10 /*Only used in int passing code*//* Non-atomic macros */#define _PROGSIZE (PROGRAMSIZE*sizeof(PROGRAMTYPE))#define _POPPTR get_pop_ptr()#define _POPSIZE get_pop_size()#define BOSS_NODE 667/* Messages and commands *//* boss to breeder(s) */#define START_UP 101#define SEND_STAT 102#define SHUT_DOWN 103#define SEND_POP 104/* breeder(s) to boss */ #define BREEDER_REPORT 201#define BREEDER_LONG_REPORT 202#define HEARTBEAT 203#define STOP_ACK 204#define EUREKA 205#define END_OF_GEN 206#define I_QUIT 207#define TEXT_STRING 208#define STARTUP_MESSAGE 5901#define FAST_HEARTBEAT_MESSAGE 5902#define SLOW_HEARTBEAT_MESSAGE 5903#define END_OF_GEN_MESSAGE 5904#define EUREKA_MESSAGE 5905#define TRACE_MESSAGE 5906#define ERROR_MESSAGE 5907#define BOATLOAD_MESSAGE 5908#define STATUS_GOOD 0#define STATUS_SLOW 1#define STATUS_DANGER 2#define STATUS_DEAD 3#define STATUS_ERROR 4/* system */#define DONE 901#define HELP_ME 911#define NOT_FOR_ME 950#define NOT_VALID_COMMAND 999#define NUMCOMMANDS 6#ifdef __MAIN__#define CODEINIT \{START_UP, SEND_STAT, SEND_POP, SHUT_DOWN, HELP_ME, DONE}#define KEYSINIT \{'g', 's', 'p', 'k', 'h', 'x'}#define NAMEINIT \{"go", "get stat n","get pop n","kill farm","help", "exit boss"}int cmd_code[NUMCOMMANDS] = CODEINIT;char cmd_keys[NUMCOMMANDS] = KEYSINIT;char *cmd_name[NUMCOMMANDS] = NAMEINIT;#else extern int cmd_code[NUMCOMMANDS];extern char cmd_keys[NUMCOMMANDS];extern char *cmd_name[NUMCOMMANDS];#endif/*==============================+| TYPE AND STRUCT DEFINITIONS | +==============================*/#define poptype Population * /* typedef struct { PROGRAMTYPE individual[POPULATIONSIZE][PROGRAMSIZE]; int npop; } poptype; */ typedef struct poor_cuban { CompInd cargo[EXCHBUFSIZE]; } BoatLoad;#define MESS_HEADER_INDEX_TYPE 0#define MESS_HEADER_INDEX_LENGTH 1#define MESS_HEADER_INDEX_NODE 2#define MESS_HEADER_INDEX_GEN 3#define MESS_HEADER_INDEX_IND 4#define MESS_HEADER_INDEX_FITCASE 5#define MESS_HEADER_INDEX_LOCATION 6#define MESS_HEADER_INDEX_DIR 7#define MESS_HEADER_INDEX_DEST 8#define MESS_HEADER_INDEX_EXTRA 9#define EAST 0;#define NORTH 1;#define SOUTH 2;#define WEST 3;/*==============================+| GLOBAL DATA |+==============================*//* flags */EXTERN int g_in_message_header[8];EXTERN int g_out_message_header[8];EXTERN int g_outbufs_sent;EXTERN int g_inbuf_ready[NUMNEIGHBORS];EXTERN int g_stat_info_flag;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -