29#define TIM_DUMP_VER_NUM 1
54 vStr = Vec_StrAlloc( 10000 );
83 assert( (
int)pDelayTable[0] == i );
85 Vec_StrPutI_ne( vStr, (
int)pDelayTable[0] );
86 Vec_StrPutI_ne( vStr, (
int)pDelayTable[1] );
87 Vec_StrPutI_ne( vStr, (
int)pDelayTable[2] );
89 TableSize = (int)pDelayTable[1] * (
int)pDelayTable[2];
90 for ( k = 0; k < TableSize; k++ )
91 Vec_StrPutF( vStr, pDelayTable[k+3] );
117 int VerNum, nCis, nCos, nPis, nPos;
118 int nBoxes, nBoxIns, nBoxOuts, CopyBox, fBlack;
119 int TableId, nTables, TableSize, TableX, TableY;
120 int i, k, curPi, curPo, iStr = 0;
123 VerNum = Vec_StrGetI_ne(
p, &iStr );
126 nCis = Vec_StrGetI_ne(
p, &iStr );
127 nCos = Vec_StrGetI_ne(
p, &iStr );
129 nPis = Vec_StrGetI_ne(
p, &iStr );
130 nPos = Vec_StrGetI_ne(
p, &iStr );
134 nBoxes = Vec_StrGetI_ne(
p, &iStr );
135 assert( pMan->vBoxes == NULL );
137 pMan->vBoxes = Vec_PtrAlloc( nBoxes );
141 for ( i = 0; i < nBoxes; i++ )
143 nBoxIns = Vec_StrGetI_ne(
p, &iStr );
144 nBoxOuts = Vec_StrGetI_ne(
p, &iStr );
145 TableId = Vec_StrGetI_ne(
p, &iStr );
146 CopyBox = Vec_StrGetI_ne(
p, &iStr );
159 nTables = Vec_StrGetI_ne(
p, &iStr );
160 assert( pMan->vDelayTables == NULL );
162 pMan->vDelayTables = Vec_PtrAlloc( nTables );
164 for ( i = 0; i < nTables; i++ )
167 TableId = Vec_StrGetI_ne(
p, &iStr );
168 TableX = Vec_StrGetI_ne(
p, &iStr );
169 TableY = Vec_StrGetI_ne(
p, &iStr );
172 TableSize = TableX * TableY;
173 pDelayTable =
ABC_ALLOC(
float, TableSize + 3 );
174 pDelayTable[0] = TableId;
175 pDelayTable[1] = TableX;
176 pDelayTable[2] = TableY;
178 for ( k = 0; k < TableSize; k++ )
179 pDelayTable[k+3] = Vec_StrGetF(
p, &iStr );
180 assert( Vec_PtrSize(pMan->vDelayTables) == TableId );
181 Vec_PtrPush( pMan->vDelayTables, pDelayTable );
190 assert( Vec_StrSize(
p) == iStr );
#define ABC_ALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
struct Vec_Str_t_ Vec_Str_t
Vec_Str_t * Tim_ManSave(Tim_Man_t *p, int fHieOnly)
FUNCTION DEFINITIONS ///.
Tim_Man_t * Tim_ManLoad(Vec_Str_t *p, int fHieOnly)
#define TIM_DUMP_VER_NUM
DECLARATIONS ///.
#define Tim_ManForEachTable(p, pTable, i)
#define Tim_ManForEachPo(p, pObj, i)
struct Tim_Obj_t_ Tim_Obj_t
#define Tim_ManForEachBox(p, pBox, i)
#define Tim_ManForEachPi(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
int Tim_ManBoxOutputNum(Tim_Man_t *p, int iBox)
int Tim_ManBoxNum(Tim_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Tim_Man_t_ Tim_Man_t
INCLUDES ///.
int Tim_ManCiNum(Tim_Man_t *p)
void Tim_ManCreateBox(Tim_Man_t *p, int firstIn, int nIns, int firstOut, int nOuts, int iDelayTable, int fBlack)
ITERATORS ///.
int Tim_ManPoNum(Tim_Man_t *p)
void Tim_ManBoxSetCopy(Tim_Man_t *p, int iBox, int iCopy)
int Tim_ManBoxInputNum(Tim_Man_t *p, int iBox)
Tim_Man_t * Tim_ManStart(int nCis, int nCos)
DECLARATIONS ///.
int Tim_ManPiNum(Tim_Man_t *p)
int Tim_ManCoNum(Tim_Man_t *p)
void Tim_ManInitPiArrival(Tim_Man_t *p, int iPi, float Delay)
DECLARATIONS ///.
float Tim_ManGetCiArrival(Tim_Man_t *p, int iCi)
int Tim_ManDelayTableNum(Tim_Man_t *p)
int Tim_ManBoxCopy(Tim_Man_t *p, int iBox)
int Tim_ManBoxDelayTableId(Tim_Man_t *p, int iBox)
void Tim_ManInitPoRequired(Tim_Man_t *p, int iPo, float Delay)
float Tim_ManGetCoRequired(Tim_Man_t *p, int iCo)