int ycor(Rect_Type *r, int i) { if (r->x == 1) {return i;} else { if (r->y == 1) {return 0;} else { if (2*r->lo->y == r->y) { if (i < r->lo->g - r->lo->h) {return r->lo->y - 1 - ycor(r->lo, i+r->lo->h);} else { if (i < r->lu->g + r->lo->g -r->lo->h) { return r->lo->y + ycor(r->lu, r->lu->g + r->lo->g -r->lo->h -i-1); } else { if (i < r->ru->g + r->lu->g + r->lo->g -r->lo->h) { return r->ro->y + ycor(r->ru, i - r->lu->g - r->lo->g + r->lo->h); } else { if (i < r->g - r->lo->h) { return r->ro->y - 1 - ycor(r->ro, r->g -r->lo->h -i-1); } else { return r->lo->y - 1 - ycor(r->lo, i + r->lo->h - r->g); } }}}} else { if (2*r->lo->x == r->x) { return xcor(r->sp, r->g - i); } else { if (i < r->lo->h) {return ycor(r->lo, i);} else { if (i < r->lu->g + r->lo->h) { return r->lo->y + ycor(r->lu, r->lu->g + r->lo->h -i-1); } else { if (i < r->lu->g + r->ru->g + r->lo->h) { return r->ro->y + ycor(r->ru, i - r->lu->g - r->lo->h); } else { if (i < r->g - r->lo->g + r->lo->h) { return r->ro->y - 1 - ycor(r->ro, r->g -r->lo->g + r->lo->h -i-1); } else { return ycor(r->lo, i + r->lo->g - r->g); }}}}}}}} }
/* displays various state values for node */ void dsp_state(NSLNSLnet *net,long nd,float aa,float bb,float cc) { nio_ds *np=nsl_drv(nio_ds); char *fmtstr="%.Xf "; fmtstr[2]=(char)('0'+np->numelm-3); nd-=np->bs_hd; w_position(np->scr_s,xcor(nd),ycor(nd));w_printf(np->scr_s,fmtstr,aa); w_position(np->scr_s,xcor(nd),1+ycor(nd));w_printf(np->scr_s,fmtstr,bb); w_position(np->scr_s,xcor(nd),2+ycor(nd));w_printf(np->scr_s,fmtstr,cc); }
/* displays various state values for node */ void dsp_state(NSLNSLnet *net,long nd,float aa,float bb,float cc) { char *fmtstr="%.Xf "; hop_io_ds *hp=nsl_drv(hop_io_ds); nio_ds *np=(&hp->nio); if(!np->scr_s) return; /* not enough room on vdu */ fmtstr[2]=(char)('0'+np->numelm-3); nd-=np->bs_hd; w_position(np->scr_s,xcor(nd),ycor(nd));w_printf(np->scr_s,fmtstr,aa); w_position(np->scr_s,xcor(nd),1+ycor(nd));w_printf(np->scr_s,fmtstr,bb); w_position(np->scr_s,xcor(nd),2+ycor(nd));w_printf(np->scr_s,fmtstr,cc); }