/* ========================================================================== */ /* capaMapExpr.c created by Isaac Tsai */ /* 1998, 1999 copyrighted by Isaac Tsai */ /* */ /* this is the main code to handle /MAP() function call in capa */ #include #include #include #include "capaParser.h" #include "capaToken.h" #include "ranlib.h" /* |>|===============================================================|<| */ int do_map(seed, varp, argp, argc, dir) char *seed; ArgNode_t *varp; ArgNode_t *argp; int argc; int dir; { long orig_gen, current_gen, seed1, seed2; long *idx_array, *ridx_array; int idx, val; Symbol val_array[ONE_K]; ArgNode_t *tmpArgp; for(idx=0,tmpArgp=argp;idxa_next); } idx_array = (long *)capa_malloc(sizeof(long), argc); for(idx=0;idxa_next; } gscgn(SET_GENERATOR, &orig_gen); capa_mfree((char *)idx_array); return (0); }