resis: convert K&R function definitions to ANSI C
Convert the old-style (K&R) function definitions in resis/ to ANSI C prototypes, formatted in the project's convention: the return type on its own line and each parameter on its own line, indented four spaces, with the original parameter comments retained. Builds cleanly under GCC 16 / C23 (with the -std=gnu17 build change). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
60f3fec41c
commit
7c4194e259
|
|
@ -44,9 +44,9 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
resMakePortBreakpoints(tile, list)
|
resMakePortBreakpoints(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
resNode **list;
|
resNode **list)
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
|
|
@ -95,10 +95,10 @@ resMakePortBreakpoints(tile, list)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResStartTile(tile, x, y)
|
ResStartTile(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
int x, y;
|
int x,
|
||||||
|
int y)
|
||||||
{
|
{
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
|
|
||||||
|
|
@ -135,9 +135,9 @@ ResStartTile(tile, x, y)
|
||||||
#define IGNORE_BOTTOM 8
|
#define IGNORE_BOTTOM 8
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResEachTile(tile, devNodeTable)
|
ResEachTile(
|
||||||
Tile *tile; /* Tile being processed */
|
Tile *tile, /* Tile being processed */
|
||||||
HashTable *devNodeTable; /* Table of tiles connected to devices */
|
HashTable *devNodeTable) /* Table of tiles connected to devices */
|
||||||
{
|
{
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
|
|
|
||||||
|
|
@ -43,12 +43,11 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResSanityChecks(nodename, resistorList, nodeList, devlist)
|
ResSanityChecks(
|
||||||
char *nodename;
|
char *nodename,
|
||||||
resResistor *resistorList;
|
resResistor *resistorList,
|
||||||
resNode *nodeList;
|
resNode *nodeList,
|
||||||
resDevice *devlist;
|
resDevice *devlist)
|
||||||
|
|
||||||
{
|
{
|
||||||
resResistor *resistor;
|
resResistor *resistor;
|
||||||
resNode *node;
|
resNode *node;
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,9 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintNodeList(fp, list)
|
ResPrintNodeList(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resNode *list;
|
resNode *list)
|
||||||
{
|
{
|
||||||
|
|
||||||
for (; list != NULL; list = list->rn_more)
|
for (; list != NULL; list = list->rn_more)
|
||||||
|
|
@ -72,10 +72,9 @@ ResPrintNodeList(fp, list)
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
ResPrintResistorList(fp, list)
|
ResPrintResistorList(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resResistor *list;
|
resResistor *list)
|
||||||
|
|
||||||
{
|
{
|
||||||
for (; list != NULL; list = list->rr_nextResistor)
|
for (; list != NULL; list = list->rr_nextResistor)
|
||||||
{
|
{
|
||||||
|
|
@ -111,10 +110,9 @@ ResPrintResistorList(fp, list)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintDeviceList(fp, list)
|
ResPrintDeviceList(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resDevice *list;
|
resDevice *list)
|
||||||
|
|
||||||
{
|
{
|
||||||
static char termtype[] = {'g','s','d','c'};
|
static char termtype[] = {'g','s','d','c'};
|
||||||
int i;
|
int i;
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,9 @@ extern void ResCheckConcavity();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResFracture(plane, rect)
|
ResFracture(
|
||||||
Plane *plane;
|
Plane *plane,
|
||||||
Rect *rect;
|
Rect *rect)
|
||||||
{
|
{
|
||||||
Point start;
|
Point start;
|
||||||
Tile *tpnew;
|
Tile *tpnew;
|
||||||
|
|
@ -161,10 +161,10 @@ enumerate:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResCheckConcavity(bot, top, tt)
|
ResCheckConcavity(
|
||||||
Tile *bot, *top;
|
Tile *bot,
|
||||||
TileType tt;
|
Tile *top,
|
||||||
|
TileType tt)
|
||||||
{
|
{
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
int xlen, ylen;
|
int xlen, ylen;
|
||||||
|
|
@ -271,12 +271,12 @@ ResCheckConcavity(bot, top, tt)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
resWalkup(tile, tt, xpos, ypos, func)
|
resWalkup(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType tt;
|
TileType tt,
|
||||||
int xpos, ypos;
|
int xpos,
|
||||||
Tile * (*func)();
|
int ypos,
|
||||||
|
Tile * (*func)())
|
||||||
{
|
{
|
||||||
Point pt;
|
Point pt;
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
|
|
@ -304,12 +304,12 @@ resWalkup(tile, tt, xpos, ypos, func)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
resWalkdown(tile, tt, xpos, ypos, func)
|
resWalkdown(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType tt;
|
TileType tt,
|
||||||
int xpos, ypos;
|
int xpos,
|
||||||
Tile * (*func)();
|
int ypos,
|
||||||
|
Tile * (*func)())
|
||||||
{
|
{
|
||||||
Point pt;
|
Point pt;
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
|
|
@ -345,12 +345,12 @@ resWalkdown(tile, tt, xpos, ypos, func)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
resWalkright(tile, tt, xpos, ypos, func)
|
resWalkright(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType tt;
|
TileType tt,
|
||||||
int xpos, ypos;
|
int xpos,
|
||||||
Tile * (*func)();
|
int ypos,
|
||||||
|
Tile * (*func)())
|
||||||
{
|
{
|
||||||
Point pt;
|
Point pt;
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
|
|
@ -378,12 +378,12 @@ resWalkright(tile, tt, xpos, ypos, func)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
resWalkleft(tile, tt, xpos, ypos, func)
|
resWalkleft(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType tt;
|
TileType tt,
|
||||||
int xpos, ypos;
|
int xpos,
|
||||||
Tile * (*func)();
|
int ypos,
|
||||||
|
Tile * (*func)())
|
||||||
{
|
{
|
||||||
Point pt;
|
Point pt;
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
|
|
@ -433,10 +433,9 @@ resWalkleft(tile, tt, xpos, ypos, func)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Tile *
|
Tile *
|
||||||
ResSplitX(tile, x)
|
ResSplitX(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
int x;
|
int x)
|
||||||
|
|
||||||
{
|
{
|
||||||
Tile *delayed = NULL; /* delayed free to extend lifetime */
|
Tile *delayed = NULL; /* delayed free to extend lifetime */
|
||||||
TileType tt = TiGetType(tile);
|
TileType tt = TiGetType(tile);
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,14 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResNewTermDevice(tile, tp, n, xj, yj, direction, PendingList)
|
ResNewTermDevice(
|
||||||
Tile *tile, *tp;
|
Tile *tile,
|
||||||
int n; /* Terminal index */
|
Tile *tp,
|
||||||
int xj, yj; /* Location of connection */
|
int n, /* Terminal index */
|
||||||
int direction; /* Direction of current */
|
int xj,
|
||||||
resNode **PendingList;
|
int yj,
|
||||||
|
int direction, /* Direction of current */
|
||||||
|
resNode **PendingList)
|
||||||
{
|
{
|
||||||
resNode *resptr = NULL;
|
resNode *resptr = NULL;
|
||||||
resDevice *resDev;
|
resDevice *resDev;
|
||||||
|
|
@ -132,10 +134,13 @@ ResNewTermDevice(tile, tp, n, xj, yj, direction, PendingList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResNewSubDevice(tile, tp, xj, yj, direction, PendingList)
|
ResNewSubDevice(
|
||||||
Tile *tile, *tp;
|
Tile *tile,
|
||||||
int xj, yj, direction;
|
Tile *tp,
|
||||||
resNode **PendingList;
|
int xj,
|
||||||
|
int yj,
|
||||||
|
int direction,
|
||||||
|
resNode **PendingList)
|
||||||
{
|
{
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
resDevice *resDev;
|
resDevice *resDev;
|
||||||
|
|
@ -185,10 +190,12 @@ ResNewSubDevice(tile, tp, xj, yj, direction, PendingList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResProcessJunction(tile, tp, xj, yj, NodeList)
|
ResProcessJunction(
|
||||||
Tile *tile, *tp;
|
Tile *tile,
|
||||||
int xj, yj;
|
Tile *tp,
|
||||||
resNode **NodeList;
|
int xj,
|
||||||
|
int yj,
|
||||||
|
resNode **NodeList)
|
||||||
{
|
{
|
||||||
ResJunction *junction;
|
ResJunction *junction;
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
|
|
|
||||||
100
resis/ResMain.c
100
resis/ResMain.c
|
|
@ -144,8 +144,8 @@ ResGetReCell()
|
||||||
*------------------------------------------------------------------------
|
*------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
ResDissolveContacts(contacts)
|
ResDissolveContacts(
|
||||||
ResContactPoint *contacts;
|
ResContactPoint *contacts)
|
||||||
{
|
{
|
||||||
TileType t, conttype;
|
TileType t, conttype;
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
|
|
@ -226,8 +226,8 @@ typedef struct driversinkdata {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResMakeDriverSinkPorts(def)
|
ResMakeDriverSinkPorts(
|
||||||
CellDef *def;
|
CellDef *def)
|
||||||
{
|
{
|
||||||
Plane *plane;
|
Plane *plane;
|
||||||
Rect *rect;
|
Rect *rect;
|
||||||
|
|
@ -359,10 +359,10 @@ ResMakeDriverSinkPorts(def)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResAddPortFunc(tile, dinfo, dsd)
|
ResAddPortFunc(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; /* (unused) */
|
TileType dinfo, /* (unused) */
|
||||||
DriverSinkData *dsd; /* Data for driver or sink */
|
DriverSinkData *dsd) /* Data for driver or sink */
|
||||||
{
|
{
|
||||||
resPort *rp;
|
resPort *rp;
|
||||||
resInfo *pX;
|
resInfo *pX;
|
||||||
|
|
@ -432,9 +432,9 @@ typedef struct reslabeldata {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResMakeLabelPorts(def, resisdata)
|
ResMakeLabelPorts(
|
||||||
CellDef *def;
|
CellDef *def,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata)
|
||||||
{
|
{
|
||||||
Plane *plane;
|
Plane *plane;
|
||||||
TileTypeBitMask mask;
|
TileTypeBitMask mask;
|
||||||
|
|
@ -526,10 +526,10 @@ ResMakeLabelPorts(def, resisdata)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResAddLabelFunc(tile, dinfo, rld)
|
ResAddLabelFunc(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; /* (unused) */
|
TileType dinfo, /* (unused) */
|
||||||
ResLabelData *rld; /* Label and node data */
|
ResLabelData *rld) /* Label and node data */
|
||||||
{
|
{
|
||||||
resPort *rp;
|
resPort *rp;
|
||||||
resInfo *pX;
|
resInfo *pX;
|
||||||
|
|
@ -586,8 +586,8 @@ ResAddLabelFunc(tile, dinfo, rld)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFindNewContactTiles(contacts)
|
ResFindNewContactTiles(
|
||||||
ResContactPoint *contacts;
|
ResContactPoint *contacts)
|
||||||
{
|
{
|
||||||
int pNum;
|
int pNum;
|
||||||
Tile *tile;
|
Tile *tile;
|
||||||
|
|
@ -697,10 +697,10 @@ ResFindNewContactTiles(contacts)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResProcessTiles(resisdata, origin, devNodeTable)
|
ResProcessTiles(
|
||||||
ResisData *resisdata;
|
ResisData *resisdata,
|
||||||
Point *origin;
|
Point *origin,
|
||||||
HashTable *devNodeTable;
|
HashTable *devNodeTable)
|
||||||
{
|
{
|
||||||
Tile *startTile;
|
Tile *startTile;
|
||||||
int tilenum, merged;
|
int tilenum, merged;
|
||||||
|
|
@ -841,9 +841,9 @@ ResProcessTiles(resisdata, origin, devNodeTable)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResCalcPerimOverlap(tile, dev)
|
ResCalcPerimOverlap(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
ResDevTile *dev;
|
ResDevTile *dev)
|
||||||
{
|
{
|
||||||
Tile *tp;
|
Tile *tp;
|
||||||
int t1;
|
int t1;
|
||||||
|
|
@ -902,10 +902,10 @@ ResCalcPerimOverlap(tile, dev)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
resMakeDevFunc(tile, dinfo, cx)
|
resMakeDevFunc(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo;
|
TileType dinfo,
|
||||||
TreeContext *cx;
|
TreeContext *cx)
|
||||||
{
|
{
|
||||||
ResDevTile *thisDev = (ResDevTile *)cx->tc_filter->tf_arg;
|
ResDevTile *thisDev = (ResDevTile *)cx->tc_filter->tf_arg;
|
||||||
Rect devArea;
|
Rect devArea;
|
||||||
|
|
@ -971,10 +971,10 @@ resMakeDevFunc(tile, dinfo, cx)
|
||||||
#define IGNORE_BOTTOM 8
|
#define IGNORE_BOTTOM 8
|
||||||
|
|
||||||
int
|
int
|
||||||
resExpandDevFunc(tile, dinfo, cx)
|
resExpandDevFunc(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; /* Split tile information (unused) */
|
TileType dinfo, /* Split tile information (unused) */
|
||||||
TreeContext *cx;
|
TreeContext *cx)
|
||||||
{
|
{
|
||||||
ResDevTile *thisDev = (ResDevTile *)cx->tc_filter->tf_arg;
|
ResDevTile *thisDev = (ResDevTile *)cx->tc_filter->tf_arg;
|
||||||
static Stack *devExtentsStack = NULL;
|
static Stack *devExtentsStack = NULL;
|
||||||
|
|
@ -1132,10 +1132,10 @@ resExpandDevFunc(tile, dinfo, cx)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResShaveContacts(tile, dinfo, def)
|
ResShaveContacts(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; /* (unused, see comment below) */
|
TileType dinfo, /* (unused, see comment below) */
|
||||||
CellDef *def;
|
CellDef *def)
|
||||||
{
|
{
|
||||||
TileType ttype;
|
TileType ttype;
|
||||||
TileTypeBitMask *rmask;
|
TileTypeBitMask *rmask;
|
||||||
|
|
@ -1194,10 +1194,10 @@ ResShaveContacts(tile, dinfo, def)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResExtractNet(node, resisdata, cellname)
|
ResExtractNet(
|
||||||
ResExtNode *node;
|
ResExtNode *node,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata,
|
||||||
char *cellname;
|
char *cellname)
|
||||||
{
|
{
|
||||||
SearchContext scx;
|
SearchContext scx;
|
||||||
TileTypeBitMask FirstTileMask;
|
TileTypeBitMask FirstTileMask;
|
||||||
|
|
@ -1595,10 +1595,10 @@ ResCleanUpEverything()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResGetTileFunc(tile, dinfo, tpptr)
|
ResGetTileFunc(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; /* (unused) */
|
TileType dinfo, /* (unused) */
|
||||||
Tile **tpptr;
|
Tile **tpptr)
|
||||||
{
|
{
|
||||||
/* To simplify processing, if a split tile does not have TT_SPACE
|
/* To simplify processing, if a split tile does not have TT_SPACE
|
||||||
* on either side, then only the left side is processed.
|
* on either side, then only the left side is processed.
|
||||||
|
|
@ -1641,9 +1641,9 @@ ResGetTileFunc(tile, dinfo, tpptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Tile *
|
Tile *
|
||||||
FindStartTile(resisdata, SourcePoint)
|
FindStartTile(
|
||||||
ResisData *resisdata;
|
ResisData *resisdata,
|
||||||
Point *SourcePoint;
|
Point *SourcePoint)
|
||||||
{
|
{
|
||||||
Point workingPoint;
|
Point workingPoint;
|
||||||
Tile *tile, *tp;
|
Tile *tile, *tp;
|
||||||
|
|
@ -2054,9 +2054,9 @@ FindStartTile(resisdata, SourcePoint)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
resDevice *
|
resDevice *
|
||||||
ResGetDevice(pt, type)
|
ResGetDevice(
|
||||||
Point *pt;
|
Point *pt,
|
||||||
TileType type;
|
TileType type)
|
||||||
{
|
{
|
||||||
Point workingPoint;
|
Point workingPoint;
|
||||||
Tile *tile;
|
Tile *tile;
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,11 @@ bool ResCalcEastWest();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResCalcTileResistance(tile, info, pendingList, doneList)
|
ResCalcTileResistance(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
resInfo *info;
|
resInfo *info,
|
||||||
resNode **pendingList, **doneList;
|
resNode **pendingList,
|
||||||
|
resNode **doneList)
|
||||||
{
|
{
|
||||||
int MaxX = MINFINITY, MinX = INFINITY;
|
int MaxX = MINFINITY, MinX = INFINITY;
|
||||||
int MaxY = MINFINITY, MinY = INFINITY;
|
int MaxY = MINFINITY, MinY = INFINITY;
|
||||||
|
|
@ -119,10 +119,11 @@ ResCalcTileResistance(tile, info, pendingList, doneList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResCalcEastWest(tile, pendingList, doneList, resList)
|
ResCalcEastWest(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
resNode **pendingList, **doneList;
|
resNode **pendingList,
|
||||||
resResistor **resList;
|
resNode **doneList,
|
||||||
|
resResistor **resList)
|
||||||
{
|
{
|
||||||
int count, height;
|
int count, height;
|
||||||
bool merged;
|
bool merged;
|
||||||
|
|
@ -331,10 +332,11 @@ ResCalcEastWest(tile, pendingList, doneList, resList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResCalcNorthSouth(tile, pendingList, doneList, resList)
|
ResCalcNorthSouth(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
resNode **pendingList, **doneList;
|
resNode **pendingList,
|
||||||
resResistor **resList;
|
resNode **doneList,
|
||||||
|
resResistor **resList)
|
||||||
{
|
{
|
||||||
int count, width;
|
int count, width;
|
||||||
bool merged;
|
bool merged;
|
||||||
|
|
@ -544,11 +546,11 @@ ResCalcNorthSouth(tile, pendingList, doneList, resList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ResCalcNearDevice(tile, pendingList, doneList, resList)
|
ResCalcNearDevice(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
resNode **pendingList, **doneList;
|
resNode **pendingList,
|
||||||
resResistor **resList;
|
resNode **doneList,
|
||||||
|
resResistor **resList)
|
||||||
{
|
{
|
||||||
bool merged;
|
bool merged;
|
||||||
int devcount, devedge, deltax, deltay;
|
int devcount, devedge, deltax, deltay;
|
||||||
|
|
@ -853,10 +855,10 @@ ResCalcNearDevice(tile, pendingList, doneList, resList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResDoContacts(contact, nodes, resList)
|
ResDoContacts(
|
||||||
ResContactPoint *contact;
|
ResContactPoint *contact,
|
||||||
resNode **nodes;
|
resNode **nodes,
|
||||||
resResistor **resList;
|
resResistor **resList)
|
||||||
{
|
{
|
||||||
resNode *resptr;
|
resNode *resptr;
|
||||||
cElement *ccell;
|
cElement *ccell;
|
||||||
|
|
@ -1136,7 +1138,9 @@ SplitList(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Breakpoint *
|
Breakpoint *
|
||||||
MergeSortBreaks(Breakpoint *list, int xsort)
|
MergeSortBreaks(
|
||||||
|
Breakpoint *list,
|
||||||
|
int xsort)
|
||||||
{
|
{
|
||||||
Breakpoint *a, *b;
|
Breakpoint *a, *b;
|
||||||
|
|
||||||
|
|
@ -1172,9 +1176,9 @@ MergeSortBreaks(Breakpoint *list, int xsort)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResSortBreaks(masterlist, xsort)
|
ResSortBreaks(
|
||||||
Breakpoint **masterlist;
|
Breakpoint **masterlist,
|
||||||
int xsort;
|
int xsort)
|
||||||
{
|
{
|
||||||
Breakpoint *p1, *p2, *p3, *p4;
|
Breakpoint *p1, *p2, *p3, *p4;
|
||||||
bool changed;
|
bool changed;
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,8 @@ extern void ResFixBreakPoint();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResDoneWithNode(resptr)
|
ResDoneWithNode(
|
||||||
resNode *resptr;
|
resNode *resptr)
|
||||||
|
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
resNode *resptr2;
|
resNode *resptr2;
|
||||||
|
|
@ -136,10 +135,12 @@ ResDoneWithNode(resptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFixRes(resptr, resptr2, resptr3, elimResis, newResis)
|
ResFixRes(
|
||||||
resNode *resptr, *resptr2, *resptr3;
|
resNode *resptr,
|
||||||
resResistor *elimResis, *newResis;
|
resNode *resptr2,
|
||||||
|
resNode *resptr3,
|
||||||
|
resResistor *elimResis,
|
||||||
|
resResistor *newResis)
|
||||||
{
|
{
|
||||||
resElement *thisREl;
|
resElement *thisREl;
|
||||||
|
|
||||||
|
|
@ -182,9 +183,9 @@ ResFixRes(resptr, resptr2, resptr3, elimResis, newResis)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFixParallel(elimResis, newResis)
|
ResFixParallel(
|
||||||
resResistor *elimResis, *newResis;
|
resResistor *elimResis,
|
||||||
|
resResistor *newResis)
|
||||||
{
|
{
|
||||||
if ((newResis->rr_value + elimResis->rr_value) != 0)
|
if ((newResis->rr_value + elimResis->rr_value) != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -218,9 +219,8 @@ ResFixParallel(elimResis, newResis)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResSeriesCheck(resptr)
|
ResSeriesCheck(
|
||||||
resNode *resptr;
|
resNode *resptr)
|
||||||
|
|
||||||
{
|
{
|
||||||
resResistor *rr1,*rr2;
|
resResistor *rr1,*rr2;
|
||||||
resNode *resptr2, *resptr3;
|
resNode *resptr2, *resptr3;
|
||||||
|
|
@ -403,8 +403,8 @@ ResSeriesCheck(resptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResParallelCheck(resptr)
|
ResParallelCheck(
|
||||||
resNode *resptr;
|
resNode *resptr)
|
||||||
{
|
{
|
||||||
resResistor *r1, *r2;
|
resResistor *r1, *r2;
|
||||||
resNode *resptr2, *resptr3;
|
resNode *resptr2, *resptr3;
|
||||||
|
|
@ -521,9 +521,8 @@ ResParallelCheck(resptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResTriangleCheck(resptr)
|
ResTriangleCheck(
|
||||||
resNode *resptr;
|
resNode *resptr)
|
||||||
|
|
||||||
{
|
{
|
||||||
resResistor *rr1, *rr2, *rr3;
|
resResistor *rr1, *rr2, *rr3;
|
||||||
int status = UNTOUCHED;
|
int status = UNTOUCHED;
|
||||||
|
|
@ -849,9 +848,11 @@ ResTriangleCheck(resptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResMergeNodes(node1, node2, pendingList, doneList)
|
ResMergeNodes(
|
||||||
resNode *node1, *node2;
|
resNode *node1,
|
||||||
resNode **pendingList, **doneList;
|
resNode *node2,
|
||||||
|
resNode **pendingList,
|
||||||
|
resNode **doneList)
|
||||||
{
|
{
|
||||||
resElement *workingRes, *tRes;
|
resElement *workingRes, *tRes;
|
||||||
tElement *workingDev, *tDev;
|
tElement *workingDev, *tDev;
|
||||||
|
|
@ -1021,10 +1022,9 @@ ResMergeNodes(node1, node2, pendingList, doneList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResDeleteResPointer(node, resistor)
|
ResDeleteResPointer(
|
||||||
resNode *node;
|
resNode *node,
|
||||||
resResistor *resistor;
|
resResistor *resistor)
|
||||||
|
|
||||||
{
|
{
|
||||||
resElement *rcell1, *rcell2;
|
resElement *rcell1, *rcell2;
|
||||||
int notfound = TRUE;
|
int notfound = TRUE;
|
||||||
|
|
@ -1071,9 +1071,9 @@ ResDeleteResPointer(node, resistor)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResEliminateResistor(resistor, homelist)
|
ResEliminateResistor(
|
||||||
resResistor *resistor, **homelist;
|
resResistor *resistor,
|
||||||
|
resResistor **homelist)
|
||||||
{
|
{
|
||||||
if (resistor->rr_lastResistor == NULL)
|
if (resistor->rr_lastResistor == NULL)
|
||||||
*homelist = resistor->rr_nextResistor;
|
*homelist = resistor->rr_nextResistor;
|
||||||
|
|
@ -1108,11 +1108,11 @@ ResEliminateResistor(resistor, homelist)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResCleanNode(resptr, info, homelist1, homelist2)
|
ResCleanNode(
|
||||||
resNode *resptr;
|
resNode *resptr,
|
||||||
int info;
|
int info,
|
||||||
resNode **homelist1;
|
resNode **homelist1,
|
||||||
resNode **homelist2;
|
resNode **homelist2)
|
||||||
{
|
{
|
||||||
resElement *rcell;
|
resElement *rcell;
|
||||||
cElement *ccell;
|
cElement *ccell;
|
||||||
|
|
@ -1193,10 +1193,10 @@ ResCleanNode(resptr, info, homelist1, homelist2)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFixBreakPoint(sourcelist, origNode, newNode)
|
ResFixBreakPoint(
|
||||||
Breakpoint **sourcelist;
|
Breakpoint **sourcelist,
|
||||||
resNode *origNode, *newNode;
|
resNode *origNode,
|
||||||
|
resNode *newNode)
|
||||||
{
|
{
|
||||||
Breakpoint *bp, *bp2, *bp3, *bp4;
|
Breakpoint *bp, *bp2, *bp3, *bp4;
|
||||||
int alreadypresent;
|
int alreadypresent;
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,10 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintExtRes(outextfile, resistors, nodename)
|
ResPrintExtRes(
|
||||||
FILE *outextfile;
|
FILE *outextfile,
|
||||||
resResistor *resistors;
|
resResistor *resistors,
|
||||||
char *nodename;
|
char *nodename)
|
||||||
|
|
||||||
{
|
{
|
||||||
int nodenum = 0;
|
int nodenum = 0;
|
||||||
char newname[MAXNAME];
|
char newname[MAXNAME];
|
||||||
|
|
@ -106,9 +105,9 @@ ResPrintExtRes(outextfile, resistors, nodename)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintExtDev(outextfile, devices)
|
ResPrintExtDev(
|
||||||
FILE *outextfile;
|
FILE *outextfile,
|
||||||
RDev *devices;
|
RDev *devices)
|
||||||
{
|
{
|
||||||
char *subsName;
|
char *subsName;
|
||||||
ExtDevice *devptr, *devtest;
|
ExtDevice *devptr, *devtest;
|
||||||
|
|
@ -210,10 +209,10 @@ ResPrintExtDev(outextfile, devices)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintExtNode(outextfile, nodelist, node)
|
ResPrintExtNode(
|
||||||
FILE *outextfile;
|
FILE *outextfile,
|
||||||
resNode *nodelist;
|
resNode *nodelist,
|
||||||
ResExtNode *node;
|
ResExtNode *node)
|
||||||
{
|
{
|
||||||
char *nodename = node->name;
|
char *nodename = node->name;
|
||||||
int nodenum = 0;
|
int nodenum = 0;
|
||||||
|
|
@ -321,9 +320,9 @@ ResPrintExtNode(outextfile, nodelist, node)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintStats(resisdata, name)
|
ResPrintStats(
|
||||||
ResisData *resisdata;
|
ResisData *resisdata,
|
||||||
char *name;
|
char *name)
|
||||||
{
|
{
|
||||||
static int totalnets = 0, totalnodes = 0, totalresistors = 0;
|
static int totalnets = 0, totalnodes = 0, totalresistors = 0;
|
||||||
int nodes, resistors;
|
int nodes, resistors;
|
||||||
|
|
@ -367,9 +366,9 @@ ResPrintStats(resisdata, name)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
resWriteNodeName(fp, nodeptr)
|
resWriteNodeName(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resNode *nodeptr;
|
resNode *nodeptr)
|
||||||
{
|
{
|
||||||
if (nodeptr->rn_name == NULL)
|
if (nodeptr->rn_name == NULL)
|
||||||
fprintf(fp, "N%d", nodeptr->rn_id);
|
fprintf(fp, "N%d", nodeptr->rn_id);
|
||||||
|
|
@ -387,12 +386,12 @@ resWriteNodeName(fp, nodeptr)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintFHNodes(fp, nodelist, nodename, nidx, celldef)
|
ResPrintFHNodes(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resNode *nodelist;
|
resNode *nodelist,
|
||||||
char *nodename;
|
char *nodename,
|
||||||
int *nidx;
|
int *nidx,
|
||||||
CellDef *celldef;
|
CellDef *celldef)
|
||||||
{
|
{
|
||||||
char newname[16];
|
char newname[16];
|
||||||
resNode *nodeptr;
|
resNode *nodeptr;
|
||||||
|
|
@ -575,11 +574,11 @@ ResPrintFHNodes(fp, nodelist, nodename, nidx, celldef)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintFHRects(fp, reslist, nodename, eidx)
|
ResPrintFHRects(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
resResistor *reslist;
|
resResistor *reslist,
|
||||||
char *nodename;
|
char *nodename,
|
||||||
int *eidx; /* element (segment) index */
|
int *eidx) /* element (segment) index */
|
||||||
{
|
{
|
||||||
resResistor *resistors;
|
resResistor *resistors;
|
||||||
float oscale, thick, cwidth;
|
float oscale, thick, cwidth;
|
||||||
|
|
@ -677,10 +676,10 @@ ResPrintFHRects(fp, reslist, nodename, eidx)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintReference(fp, devices, cellDef)
|
ResPrintReference(
|
||||||
FILE *fp;
|
FILE *fp,
|
||||||
RDev *devices;
|
RDev *devices,
|
||||||
CellDef *cellDef;
|
CellDef *cellDef)
|
||||||
{
|
{
|
||||||
char *outfile = cellDef->cd_name;
|
char *outfile = cellDef->cd_name;
|
||||||
Rect *bbox = &(cellDef->cd_bbox);
|
Rect *bbox = &(cellDef->cd_bbox);
|
||||||
|
|
@ -735,10 +734,10 @@ ResPrintReference(fp, devices, cellDef)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResCreateCenterlines(reslist, nidx, def)
|
ResCreateCenterlines(
|
||||||
resResistor *reslist;
|
resResistor *reslist,
|
||||||
int *nidx;
|
int *nidx,
|
||||||
CellDef *def;
|
CellDef *def)
|
||||||
{
|
{
|
||||||
resResistor *resistors;
|
resResistor *resistors;
|
||||||
resNode *nodeptr;
|
resNode *nodeptr;
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,8 @@ ResFixPoint *ResFixList;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResReadExt(CellDef *def)
|
ResReadExt(
|
||||||
|
CellDef *def)
|
||||||
{
|
{
|
||||||
char *line = NULL, *argv[128];
|
char *line = NULL, *argv[128];
|
||||||
int result, locresult;
|
int result, locresult;
|
||||||
|
|
@ -518,7 +519,9 @@ ResReadParentExt(CellDef *parent,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ResExtNode *
|
ResExtNode *
|
||||||
ResReadNode(int argc, char *argv[])
|
ResReadNode(
|
||||||
|
int argc,
|
||||||
|
char *argv[])
|
||||||
{
|
{
|
||||||
HashEntry *entry;
|
HashEntry *entry;
|
||||||
ResExtNode *node;
|
ResExtNode *node;
|
||||||
|
|
@ -1052,8 +1055,8 @@ ResReadAttribute(ResExtNode *node,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ResExtNode *
|
ResExtNode *
|
||||||
ResExtInitNode(entry)
|
ResExtInitNode(
|
||||||
HashEntry *entry;
|
HashEntry *entry)
|
||||||
{
|
{
|
||||||
ResExtNode *node;
|
ResExtNode *node;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,9 +83,9 @@ int ResPortIndex; /* Port ordering to backannotate into magic */
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ExtResisForDef(celldef, resisdata)
|
ExtResisForDef(
|
||||||
CellDef *celldef;
|
CellDef *celldef,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata)
|
||||||
{
|
{
|
||||||
RDev *oldRDev;
|
RDev *oldRDev;
|
||||||
HashSearch hs;
|
HashSearch hs;
|
||||||
|
|
@ -263,9 +263,9 @@ ResInit()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
CmdExtResis(win, cmd)
|
CmdExtResis(
|
||||||
MagWindow *win;
|
MagWindow *win,
|
||||||
TxCommand *cmd;
|
TxCommand *cmd)
|
||||||
{
|
{
|
||||||
int i, j, k, option, value, saveFlags;
|
int i, j, k, option, value, saveFlags;
|
||||||
|
|
||||||
|
|
@ -802,9 +802,9 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
resSubcircuitFunc(cellUse, rdata)
|
resSubcircuitFunc(
|
||||||
CellUse *cellUse;
|
CellUse *cellUse,
|
||||||
ResisData *rdata;
|
ResisData *rdata)
|
||||||
{
|
{
|
||||||
CellDef *cellDef = cellUse->cu_def;
|
CellDef *cellDef = cellUse->cu_def;
|
||||||
Plane *savePlane;
|
Plane *savePlane;
|
||||||
|
|
@ -843,11 +843,11 @@ resSubcircuitFunc(cellUse, rdata)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
resPortFunc(scx, lab, tpath, result)
|
resPortFunc(
|
||||||
SearchContext *scx;
|
SearchContext *scx,
|
||||||
Label *lab;
|
Label *lab,
|
||||||
TerminalPath *tpath;
|
TerminalPath *tpath,
|
||||||
int *result;
|
int *result)
|
||||||
{
|
{
|
||||||
Rect r;
|
Rect r;
|
||||||
int pclass, puse;
|
int pclass, puse;
|
||||||
|
|
@ -946,8 +946,8 @@ resPortFunc(scx, lab, tpath, result)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResCheckBlackbox(cellDef)
|
ResCheckBlackbox(
|
||||||
CellDef *cellDef;
|
CellDef *cellDef)
|
||||||
{
|
{
|
||||||
int result = 1;
|
int result = 1;
|
||||||
SearchContext scx;
|
SearchContext scx;
|
||||||
|
|
@ -990,8 +990,8 @@ ResCheckBlackbox(cellDef)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResCheckPorts(cellDef)
|
ResCheckPorts(
|
||||||
CellDef *cellDef;
|
CellDef *cellDef)
|
||||||
{
|
{
|
||||||
Label *lab;
|
Label *lab;
|
||||||
HashEntry *entry;
|
HashEntry *entry;
|
||||||
|
|
@ -1313,9 +1313,9 @@ ResProcessNode(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResCheckExtNodes(celldef, resisdata)
|
ResCheckExtNodes(
|
||||||
CellDef *celldef;
|
CellDef *celldef,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata)
|
||||||
{
|
{
|
||||||
ResExtNode *node;
|
ResExtNode *node;
|
||||||
int numext = 0; /* Number of nets extracted */
|
int numext = 0; /* Number of nets extracted */
|
||||||
|
|
@ -1506,11 +1506,11 @@ ResFixUpSinkpoints(ResConnect *sink,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFixUpConnections(extDev, layoutDev, extNode, nodename)
|
ResFixUpConnections(
|
||||||
RDev *extDev;
|
RDev *extDev,
|
||||||
resDevice *layoutDev;
|
resDevice *layoutDev,
|
||||||
ResExtNode *extNode;
|
ResExtNode *extNode,
|
||||||
char *nodename;
|
char *nodename)
|
||||||
{
|
{
|
||||||
static char newname[MAXNAME], oldnodename[MAXNAME];
|
static char newname[MAXNAME], oldnodename[MAXNAME];
|
||||||
int notdecremented;
|
int notdecremented;
|
||||||
|
|
@ -1810,12 +1810,11 @@ ResFixUpConnections(extDev, layoutDev, extNode, nodename)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFixDevName(line, type, device, layoutnode)
|
ResFixDevName(
|
||||||
char line[];
|
char line[],
|
||||||
int type;
|
int type,
|
||||||
RDev *device;
|
RDev *device,
|
||||||
resNode *layoutnode;
|
resNode *layoutnode)
|
||||||
|
|
||||||
{
|
{
|
||||||
HashEntry *entry;
|
HashEntry *entry;
|
||||||
ResExtNode *node;
|
ResExtNode *node;
|
||||||
|
|
@ -1881,8 +1880,9 @@ ResFixDevName(line, type, device, layoutnode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
devSortFunc(rec1, rec2)
|
devSortFunc(
|
||||||
devPtr **rec1, **rec2;
|
devPtr **rec1,
|
||||||
|
devPtr **rec2)
|
||||||
{
|
{
|
||||||
devPtr *dev1 = *rec1;
|
devPtr *dev1 = *rec1;
|
||||||
devPtr *dev2 = *rec2;
|
devPtr *dev2 = *rec2;
|
||||||
|
|
@ -1932,8 +1932,8 @@ devSortFunc(rec1, rec2)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResSortByGate(DevpointerList)
|
ResSortByGate(
|
||||||
devPtr **DevpointerList;
|
devPtr **DevpointerList)
|
||||||
{
|
{
|
||||||
devPtr *working, **Devindexed;
|
devPtr *working, **Devindexed;
|
||||||
int listlen, listidx;
|
int listlen, listidx;
|
||||||
|
|
@ -1950,7 +1950,8 @@ ResSortByGate(DevpointerList)
|
||||||
for (working = *DevpointerList; working; working = working->nextDev)
|
for (working = *DevpointerList; working; working = working->nextDev)
|
||||||
Devindexed[listidx++] = working;
|
Devindexed[listidx++] = working;
|
||||||
|
|
||||||
qsort(Devindexed, (size_t)listlen, (size_t)sizeof(devPtr *), devSortFunc);
|
qsort(Devindexed, (size_t)listlen, (size_t)sizeof(devPtr *),
|
||||||
|
(int (*)(const void *, const void *))devSortFunc);
|
||||||
|
|
||||||
for (listidx = 0; listidx < listlen - 1; listidx++)
|
for (listidx = 0; listidx < listlen - 1; listidx++)
|
||||||
Devindexed[listidx]->nextDev = Devindexed[listidx + 1];
|
Devindexed[listidx]->nextDev = Devindexed[listidx + 1];
|
||||||
|
|
@ -1973,9 +1974,9 @@ ResSortByGate(DevpointerList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResWriteLumpFile(node, resisdata)
|
ResWriteLumpFile(
|
||||||
ResExtNode *node;
|
ResExtNode *node,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata)
|
||||||
{
|
{
|
||||||
int lumpedres;
|
int lumpedres;
|
||||||
|
|
||||||
|
|
@ -2009,9 +2010,9 @@ ResWriteLumpFile(node, resisdata)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResAlignNodes(nodelist, reslist)
|
ResAlignNodes(
|
||||||
resNode *nodelist;
|
resNode *nodelist,
|
||||||
resResistor *reslist;
|
resResistor *reslist)
|
||||||
{
|
{
|
||||||
resResistor *resistor;
|
resResistor *resistor;
|
||||||
resNode *node1;
|
resNode *node1;
|
||||||
|
|
@ -2068,11 +2069,12 @@ ResAlignNodes(nodelist, reslist)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResWriteExtFile(celldef, node, resisdata, nidx, eidx)
|
ResWriteExtFile(
|
||||||
CellDef *celldef;
|
CellDef *celldef,
|
||||||
ResExtNode *node;
|
ResExtNode *node,
|
||||||
ResisData *resisdata;
|
ResisData *resisdata,
|
||||||
int *nidx, *eidx;
|
int *nidx,
|
||||||
|
int *eidx)
|
||||||
{
|
{
|
||||||
char *cp, newname[MAXNAME];
|
char *cp, newname[MAXNAME];
|
||||||
devPtr *ptr;
|
devPtr *ptr;
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,11 @@ extern void ResAddResistorToList();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResSimplifyNet(nodelist, biglist, reslist, tolerance)
|
ResSimplifyNet(
|
||||||
resNode **nodelist, **biglist;
|
resNode **nodelist,
|
||||||
resResistor **reslist;
|
resNode **biglist,
|
||||||
float tolerance;
|
resResistor **reslist,
|
||||||
|
float tolerance)
|
||||||
{
|
{
|
||||||
resElement *resisptr;
|
resElement *resisptr;
|
||||||
resNode *node, *otherNode, *node1, *node2;
|
resNode *node, *otherNode, *node1, *node2;
|
||||||
|
|
@ -372,9 +372,9 @@ ResSimplifyNet(nodelist, biglist, reslist, tolerance)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResMoveDevices(node1, node2)
|
ResMoveDevices(
|
||||||
resNode *node1, *node2;
|
resNode *node1,
|
||||||
|
resNode *node2)
|
||||||
{
|
{
|
||||||
tElement *devptr, *oldptr;
|
tElement *devptr, *oldptr;
|
||||||
resDevice *device;
|
resDevice *device;
|
||||||
|
|
@ -413,7 +413,9 @@ ResMoveDevices(node1, node2)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
qrescompare(const void *one, const void *two)
|
qrescompare(
|
||||||
|
const void *one,
|
||||||
|
const void *two)
|
||||||
{
|
{
|
||||||
int cval;
|
int cval;
|
||||||
|
|
||||||
|
|
@ -442,11 +444,11 @@ qrescompare(const void *one, const void *two)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResScrunchNet(reslist, pendingList, biglist, tolerance)
|
ResScrunchNet(
|
||||||
resResistor **reslist;
|
resResistor **reslist,
|
||||||
resNode **pendingList, **biglist;
|
resNode **pendingList,
|
||||||
float tolerance;
|
resNode **biglist,
|
||||||
|
float tolerance)
|
||||||
{
|
{
|
||||||
resResistor *current, *working;
|
resResistor *current, *working;
|
||||||
resNode *node1, *node2;
|
resNode *node1, *node2;
|
||||||
|
|
@ -640,9 +642,9 @@ ResScrunchNet(reslist, pendingList, biglist, tolerance)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResAddResistorToList(resistor, locallist)
|
ResAddResistorToList(
|
||||||
resResistor *resistor, **locallist;
|
resResistor *resistor,
|
||||||
|
resResistor **locallist)
|
||||||
{
|
{
|
||||||
resResistor *local, *last = NULL;
|
resResistor *local, *last = NULL;
|
||||||
|
|
||||||
|
|
@ -696,10 +698,9 @@ ResAddResistorToList(resistor, locallist)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResDistributeCapacitance(nodelist, totalcap)
|
ResDistributeCapacitance(
|
||||||
resNode *nodelist;
|
resNode *nodelist,
|
||||||
float totalcap;
|
float totalcap)
|
||||||
|
|
||||||
{
|
{
|
||||||
float totalarea = 0, capperarea;
|
float totalarea = 0, capperarea;
|
||||||
resNode *workingNode;
|
resNode *workingNode;
|
||||||
|
|
@ -739,9 +740,8 @@ ResDistributeCapacitance(nodelist, totalcap)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
float
|
float
|
||||||
ResCalculateChildCapacitance(me)
|
ResCalculateChildCapacitance(
|
||||||
resNode *me;
|
resNode *me)
|
||||||
|
|
||||||
{
|
{
|
||||||
RCDelayStuff *myC;
|
RCDelayStuff *myC;
|
||||||
resElement *workingRes;
|
resElement *workingRes;
|
||||||
|
|
@ -817,11 +817,10 @@ ResCalculateChildCapacitance(me)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResCalculateTDi(node, resistor, resistorvalue)
|
ResCalculateTDi(
|
||||||
resNode *node;
|
resNode *node,
|
||||||
resResistor *resistor;
|
resResistor *resistor,
|
||||||
int resistorvalue;
|
int resistorvalue)
|
||||||
|
|
||||||
{
|
{
|
||||||
resElement *workingRes;
|
resElement *workingRes;
|
||||||
RCDelayStuff *rcd = (RCDelayStuff *)node->rn_client;
|
RCDelayStuff *rcd = (RCDelayStuff *)node->rn_client;
|
||||||
|
|
@ -863,11 +862,12 @@ ResCalculateTDi(node, resistor, resistorvalue)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPruneTree(node, minTdi, nodelist1, nodelist2, resistorlist)
|
ResPruneTree(
|
||||||
resNode *node, **nodelist1, **nodelist2;
|
resNode *node,
|
||||||
float minTdi;
|
float minTdi,
|
||||||
resResistor **resistorlist;
|
resNode **nodelist1,
|
||||||
|
resNode **nodelist2,
|
||||||
|
resResistor **resistorlist)
|
||||||
{
|
{
|
||||||
resResistor *currentRes;
|
resResistor *currentRes;
|
||||||
resElement *current;
|
resElement *current;
|
||||||
|
|
@ -920,9 +920,8 @@ ResPruneTree(node, minTdi, nodelist1, nodelist2, resistorlist)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResDoSimplify(resisdata)
|
ResDoSimplify(
|
||||||
ResisData *resisdata;
|
ResisData *resisdata)
|
||||||
|
|
||||||
{
|
{
|
||||||
resNode *node, *slownode;
|
resNode *node, *slownode;
|
||||||
float bigres = 0.0;
|
float bigres = 0.0;
|
||||||
|
|
@ -1061,7 +1060,8 @@ ResDoSimplify(resisdata)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResSetPathRes(ResisData *resisdata)
|
ResSetPathRes(
|
||||||
|
ResisData *resisdata)
|
||||||
{
|
{
|
||||||
HeapEntry he;
|
HeapEntry he;
|
||||||
resNode *node;
|
resNode *node;
|
||||||
|
|
@ -1119,9 +1119,8 @@ ResSetPathRes(ResisData *resisdata)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
resPathNode(node)
|
resPathNode(
|
||||||
resNode *node;
|
resNode *node)
|
||||||
|
|
||||||
{
|
{
|
||||||
resElement *re;
|
resElement *re;
|
||||||
|
|
||||||
|
|
@ -1158,9 +1157,8 @@ resPathNode(node)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
resPathRes(res)
|
resPathRes(
|
||||||
resResistor *res;
|
resResistor *res)
|
||||||
|
|
||||||
{
|
{
|
||||||
resNode *node0, *node1;
|
resNode *node0, *node1;
|
||||||
int flag0, flag1;
|
int flag0, flag1;
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,10 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ExtRegion *
|
ExtRegion *
|
||||||
ResFirst(tile, dinfo, arg)
|
ResFirst(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo;
|
TileType dinfo,
|
||||||
FindRegion *arg;
|
FindRegion *arg)
|
||||||
{
|
{
|
||||||
ResContactPoint *reg;
|
ResContactPoint *reg;
|
||||||
TileType t;
|
TileType t;
|
||||||
|
|
@ -151,11 +151,11 @@ resSubstrateTerm(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResEach(tile, dinfo, pNum, arg)
|
ResEach(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo;
|
TileType dinfo,
|
||||||
int pNum;
|
int pNum,
|
||||||
FindRegion *arg;
|
FindRegion *arg)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (((ResContactPoint *)(arg->fra_region))->cp_contactTile != tile)
|
if (((ResContactPoint *)(arg->fra_region))->cp_contactTile != tile)
|
||||||
|
|
@ -818,11 +818,10 @@ ResAddDevPlumbing(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ResRemovePlumbing(tile, dinfo, arg)
|
ResRemovePlumbing(
|
||||||
Tile *tile;
|
Tile *tile,
|
||||||
TileType dinfo; // Unused, but should be handled.
|
TileType dinfo, // Unused, but should be handled.
|
||||||
ClientData *arg;
|
ClientData *arg)
|
||||||
|
|
||||||
{
|
{
|
||||||
ClientData ticlient = TiGetClient(tile);
|
ClientData ticlient = TiGetClient(tile);
|
||||||
if (ticlient != CLIENTDEFAULT)
|
if (ticlient != CLIENTDEFAULT)
|
||||||
|
|
@ -848,8 +847,8 @@ ResRemovePlumbing(tile, dinfo, arg)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResFreeDevTiles(TileList)
|
ResFreeDevTiles(
|
||||||
ResDevTile *TileList;
|
ResDevTile *TileList)
|
||||||
{
|
{
|
||||||
ResDevTile *oldTile;
|
ResDevTile *oldTile;
|
||||||
|
|
||||||
|
|
@ -884,11 +883,11 @@ ResFreeDevTiles(TileList)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPreProcessDevices(TileList, DeviceList, Def, devNodeTable)
|
ResPreProcessDevices(
|
||||||
ResDevTile *TileList;
|
ResDevTile *TileList,
|
||||||
resDevice *DeviceList;
|
resDevice *DeviceList,
|
||||||
CellDef *Def;
|
CellDef *Def,
|
||||||
HashTable *devNodeTable;
|
HashTable *devNodeTable)
|
||||||
{
|
{
|
||||||
Tile *tile;
|
Tile *tile;
|
||||||
ResDevTile *oldTile;
|
ResDevTile *oldTile;
|
||||||
|
|
@ -1072,8 +1071,9 @@ ResPreProcessDevices(TileList, DeviceList, Def, devNodeTable)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResAddToQueue(node, list)
|
ResAddToQueue(
|
||||||
resNode *node, **list;
|
resNode *node,
|
||||||
|
resNode **list)
|
||||||
{
|
{
|
||||||
node->rn_more = *list;
|
node->rn_more = *list;
|
||||||
node->rn_less = NULL;
|
node->rn_less = NULL;
|
||||||
|
|
@ -1095,8 +1095,9 @@ ResAddToQueue(node, list)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
ResRemoveFromQueue(node, list)
|
ResRemoveFromQueue(
|
||||||
resNode *node, **list;
|
resNode *node,
|
||||||
|
resNode **list)
|
||||||
{
|
{
|
||||||
if (node->rn_less != NULL)
|
if (node->rn_less != NULL)
|
||||||
{
|
{
|
||||||
|
|
@ -1122,8 +1123,8 @@ ResRemoveFromQueue(node, list)
|
||||||
}
|
}
|
||||||
|
|
||||||
resInfo *
|
resInfo *
|
||||||
resAddField(tile)
|
resAddField(
|
||||||
Tile *tile;
|
Tile *tile)
|
||||||
{
|
{
|
||||||
ClientData ticlient = TiGetClient(tile);
|
ClientData ticlient = TiGetClient(tile);
|
||||||
resInfo *Info = (resInfo *)CD2PTR(ticlient);
|
resInfo *Info = (resInfo *)CD2PTR(ticlient);
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,9 @@ static char sccsid[] = "@(#)Write.c 4.10 MAGIC (Stanford Addition) 07/86";
|
||||||
#define RESGROUPSIZE 256
|
#define RESGROUPSIZE 256
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintNetwork(filename, reslist)
|
ResPrintNetwork(
|
||||||
char *filename;
|
char *filename,
|
||||||
resResistor *reslist;
|
resResistor *reslist)
|
||||||
|
|
||||||
{
|
{
|
||||||
char bigname[255], name1[255], name2[255];
|
char bigname[255], name1[255], name2[255];
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
@ -95,11 +94,10 @@ ResPrintNetwork(filename, reslist)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ResPrintCurrents(filename, extension, node)
|
ResPrintCurrents(
|
||||||
char *filename;
|
char *filename,
|
||||||
float extension;
|
float extension,
|
||||||
resNode *node;
|
resNode *node)
|
||||||
|
|
||||||
{
|
{
|
||||||
char bigname[255];
|
char bigname[255];
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
@ -128,11 +126,10 @@ ResPrintCurrents(filename, extension, node)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
resCurrentPrintFunc(node, resistor, filename)
|
resCurrentPrintFunc(
|
||||||
resNode *node;
|
resNode *node,
|
||||||
resResistor *resistor;
|
resResistor *resistor,
|
||||||
FILE *filename;
|
FILE *filename)
|
||||||
|
|
||||||
{
|
{
|
||||||
tElement *workingDev;
|
tElement *workingDev;
|
||||||
float i_sum = 0.0;
|
float i_sum = 0.0;
|
||||||
|
|
@ -174,11 +171,10 @@ ResDeviceCounts()
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ResWriteECLFile(filename, reslist, nodelist)
|
ResWriteECLFile(
|
||||||
char *filename;
|
char *filename,
|
||||||
resResistor *reslist;
|
resResistor *reslist,
|
||||||
resNode *nodelist;
|
resNode *nodelist)
|
||||||
|
|
||||||
{
|
{
|
||||||
char newname[100], *tmpname, *per;
|
char newname[100], *tmpname, *per;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue