gaMazeRoute() pass by-pointer const TileTypeBitMask* instead of by-value
sizeof(TileTypeBitMask) == 32
This commit is contained in:
parent
97189f6219
commit
6db34b6aa9
|
|
@ -180,27 +180,28 @@ GAMazeInitParms()
|
|||
*/
|
||||
|
||||
bool
|
||||
gaMazeRoute(routeUse, terminalLoc, pinPoint, pinLayerMask, side, writeFlag)
|
||||
CellUse *routeUse; /* Cell to route in - top level cell visible
|
||||
gaMazeRoute(
|
||||
CellUse *routeUse, /* Cell to route in - top level cell visible
|
||||
* to router and also cell route is painted
|
||||
* into. All subcells are treated as expanded
|
||||
* by the router, i.e. their contents are
|
||||
* examined. And routing across the tops of
|
||||
* subcells is permitted.
|
||||
*/
|
||||
NLTermLoc *terminalLoc; /* Terminal to connect to - somewhere in
|
||||
NLTermLoc *terminalLoc, /* Terminal to connect to - somewhere in
|
||||
* interior of cell */
|
||||
Point *pinPoint; /* Point to connect from (on edge of cell) */
|
||||
TileTypeBitMask pinLayerMask; /* layer at pin (no more than one
|
||||
Point *pinPoint, /* Point to connect from (on edge of cell) */
|
||||
const TileTypeBitMask *pinLayerMaskp,/* layer at pin (no more than one
|
||||
* bit should correspond to a known
|
||||
* routing layer)
|
||||
*/
|
||||
int side; /* side of cell destPoint lies on */
|
||||
bool writeFlag; /* If non-null, paint back result (into
|
||||
int side, /* side of cell destPoint lies on */
|
||||
bool writeFlag) /* If non-null, paint back result (into
|
||||
* routeUse), otherwise just check if
|
||||
* route is possible.
|
||||
*/
|
||||
{
|
||||
TileTypeBitMask pinLayerMask = *pinLayerMaskp; // TTMaskCopy(&pinLayerMask, pinLayerMaskp);
|
||||
Rect routeBounds;
|
||||
bool done = FALSE;
|
||||
|
||||
|
|
|
|||
|
|
@ -731,9 +731,9 @@ hardway:
|
|||
TTMaskSetOnlyType(&polyMask, RtrPolyType);
|
||||
TTMaskSetOnlyType(&metalMask, RtrMetalType);
|
||||
|
||||
if(gaMazeRoute(routeUse, terminalLoc, gridPoint, polyMask, side,
|
||||
if(gaMazeRoute(routeUse, terminalLoc, gridPoint, &polyMask, side,
|
||||
writeFlag) &&
|
||||
gaMazeRoute(routeUse, terminalLoc, gridPoint, metalMask, side,
|
||||
gaMazeRoute(routeUse, terminalLoc, gridPoint, &metalMask, side,
|
||||
writeFlag))
|
||||
{
|
||||
gaNumMazeStem++;
|
||||
|
|
@ -1123,7 +1123,7 @@ gaStemPaint(routeUse, terminalLoc)
|
|||
goto totalLoss;
|
||||
|
||||
|
||||
if(gaMazeRoute(routeUse, terminalLoc, pinPoint, pinLayerMask, side,
|
||||
if(gaMazeRoute(routeUse, terminalLoc, pinPoint, &pinLayerMask, side,
|
||||
writeResult))
|
||||
{
|
||||
gaNumMazePaint++;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#define _GAROUTER_H
|
||||
|
||||
#include "grouter/grouter.h"
|
||||
#include "utils/netlist.h" /* NLTermLoc */
|
||||
|
||||
/*
|
||||
* The following structure describes "simple stems" -- routes
|
||||
|
|
@ -88,7 +89,8 @@ extern ClientData gaDebugID; /* Our identity with the debugging module */
|
|||
extern GCRChannel *gaStemContainingChannel();
|
||||
extern GCRPin *gaStemCheckPin();
|
||||
extern int gaAlwaysOne();
|
||||
extern bool gaMazeRoute();
|
||||
extern bool gaMazeRoute(CellUse *routeUse, NLTermLoc *terminalLoc, Point *pinPoint,
|
||||
const TileTypeBitMask *pinLayerMaskp, int side, bool writeFlag);
|
||||
|
||||
/* Exported procedures */
|
||||
extern int GARoute();
|
||||
|
|
|
|||
Loading…
Reference in New Issue