= Message Passing = First attempt: {{{ $input int NPROCS; $assume NPROCS >= 1; $scope top; $heap mp_heap; $proc procs[NPROCS]; typedef struct Message { struct Message * next; struct Message * prev; int tag; int size; void * data; } Message; typedef struct Comm { Message * buf_front[NPROCS][NPROCS]; Message * buf_back[NPROCS][NPROCS]; } Comm; Comm _Comm_world; Comm * COMM_WORLD = &_Comm_world; void init() { for (int i=0; ibuf_front[i][j] = NULL; COMM_WORLD->buf_back[i][j] = NULL; } }}}