|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T o
Length: 3737 (0xe99) Types: TextFile Names: »output2.c«
└─⟦87ddcff64⟧ Bits:30001253 CPHDIST85 Tape, 1985 Autumn Conference Copenhagen └─⟦this⟧ »cph85dist/wirewrap/output2.c«
#include "wirewrap.h" output2() { int oldrow,oldcol,runflag,count,already,specialsig; int innerptr,innerwrap,outerptr,outerwrap; char tempstr[80],outline[80]; double wlength,getwirelength(); printf("\f "); header2(); oldrow = -100; oldcol = -100; linenum = 3; runflag = 0; for(count=0;count<nextfree;count++) { outline[0]=0; if((pinarray[count].row == oldrow) && (pinarray[count].col == (oldcol + 1))) runflag = 1; else { if(runflag != 0) { mywrite2(" "); runflag=0; } } oldrow = pinarray[count].row; oldcol = pinarray[count].col; /* SET UP THE SIGNAL NAME AND PIN NUMBER */ insertname(pinarray[count].signalname->signalname,outline,1); sprintf(tempstr,"%d",pinarray[count].pinnum); insertx(tempstr,outline,14); /* FIGURE SOME STUFF OUT FOR THE INNER WRAP */ innerptr = pinarray[count].inner; innerwrap = (pinarray[count].inner != -1); if(innerwrap) already = (pinarray[count].inner < count); else already = 0; specialsig = pinarray[count].signalname->special; /* SET UP LENGTH OF INNER WIRE */ if(specialsig) insertx("SPEC",outline,18); if(already && (! specialsig)) insertx("TEST",outline,18); if(innerwrap && (! already) && (! specialsig)) { wlength=getwirelength(pinarray[count].row,pinarray[count].col, pinarray[innerptr].row,pinarray[innerptr].col); wlength = (double) ( (int) (wlength * 10) ) / 10; sprintf(tempstr,"%.1f",wlength); insertx(tempstr,outline,18); } /* SET UP ROW1 AND COL1 */ sprintf(tempstr,"%d",pinarray[count].row); insertx(tempstr,outline,23); insertx(",",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[count].col); insertx(tempstr,outline,strlen(outline)+1); /* SET UP ROW2 AND COL2 */ if((!specialsig) && innerwrap) { insertx(" ",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[innerptr].row); insertx(tempstr,outline,strlen(outline)+1); insertx(",",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[innerptr].col); insertx(tempstr,outline,strlen(outline)+1); } /* FIGURE SOME STUFF OUT FOR THE OUTER WRAP */ outerptr = pinarray[count].outer; outerwrap =(pinarray[count].outer != -1); if(outerwrap) already=(pinarray[count].outer < count); else already=0; specialsig = pinarray[count].signalname->special; /* SET UP LENGTH OF OUTER WIRE */ if(specialsig) insertx("SPEC",outline,39); if(already && (!specialsig)) insertx("TEST",outline,39); if(outerwrap && (!already) && (!specialsig)) { wlength=getwirelength(pinarray[count].row,pinarray[count].col, pinarray[outerptr].row,pinarray[outerptr].col); wlength = (double) ( (int) (wlength * 10) ) / 10; sprintf(tempstr,"%.1f",wlength); insertx(tempstr,outline,39); } /* SET UP ROW1 AND COL1 */ sprintf(tempstr,"%d",pinarray[count].row); insertx(tempstr,outline,44); insertx(",",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[count].col); insertx(tempstr,outline,strlen(outline)+1); /* SET UP ROW2 AND COL2 */ if((!specialsig) && outerwrap) { insertx(" ",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[outerptr].row); insertx(tempstr,outline,strlen(outline)+1); insertx(",",outline,strlen(outline)+1); sprintf(tempstr,"%d",pinarray[outerptr].col); insertx(tempstr,outline,strlen(outline)+1); } /* SET UP EMPTY/FULL FLAG */ if((!specialsig) && outerwrap) { insertx(" ",outline,strlen(outline)+1); if(pinarray[outerptr].inner == -1) insertx("E",outline,strlen(outline)+1); else insertx("F",outline,strlen(outline)+1); } mywrite2(outline); } }