📄 u2extraops.c
字号:
/* Program generated by Cbasic 2.2.20 */
#define XSCT_CBASIC
#define C_TRANSLATOR_2_2
#define XENABLE_VERSION_CHECK
#include "scttypes.h"
#include "U2ExtraOps.h"
#ifdef XINCLUDE_HS_FILE
#include "LiftSystem.hs"
#endif
#ifdef XCTRACE
static char xFileName[] = "U2ExtraOps.c";
#endif
/*************************************************************************
** #CODE directives, #BODY sections **
*************************************************************************/
/*************************************************************************
** SECTION Variables and Functions **
*************************************************************************/
/*****
* PACKAGE U2ExtraOps
* #SDTREF(TEXT,"C:\\Program\\Telelogic\\Tau 2.2\\bin\\..\\addins\\sdlkernels\\ADT\\u2ExtraOps.pr",26,9)
******/
XCONST struct xPackageIdStruct yPacR_z_U2ExtraOps__U2ExtraOps = {xPackageEC ,
(xIdNode)0, (xIdNode)0, (xIdNode)&xSymbolTableIdRec,
"U2ExtraOps" xIdNumber(0) XCOMMON_EXTRAS xIdNames(0) XPAC_EXTRAS};
/*****
* NEWTYPE ProcessInst (BODY section)
* <<PACKAGE U2ExtraOps>>
* #SDTREF(TEXT,"C:\\Program\\Telelogic\\Tau 2.2\\bin\\..\\addins\\sdlkernels\\ADT\\u2ExtraOps.pr",27,9)
******/
tSDLTypeInfo ySDL_z_U2ExtraOps_0_ProcessInst = {type_SDL_EmptyType, 0,
(xptrint)sizeof(z_U2ExtraOps_0_ProcessInst) T_SDL_OPFUNCS(0)
T_SDL_EXTRA_VALUE T_SDL_Names("ProcessInst")
xRaWF((xIdNode)&yPacR_z_U2ExtraOps__U2ExtraOps)
xRaWF(&ySrtR_z_U2ExtraOps_0_ProcessInst)};
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z_U2ExtraOps_0_ProcessInst = {xSortEC ,
(xIdNode)0, (xIdNode)0, (xIdNode)&yPacR_z_U2ExtraOps__U2ExtraOps,
"ProcessInst" xIdNumber(0) XCOMMON_EXTRAS xFreF(0) xAssF(0) xEqF(0)
xTestF(0), (xptrint)sizeof(z_U2ExtraOps_0_ProcessInst), xEnum,
(xSortIdNode)0, (xSortIdNode)0, 0, 0, 0, 0
xRaWF((tSDLTypeInfo *)&ySDL_z_U2ExtraOps_0_ProcessInst) XSRT_EXTRAS};
#endif
/* #SDTREF(TEXT,"C:\\Program\\Telelogic\\Tau 2.2\\bin\\..\\addins\\sdlkernels\\ADT\\u2ExtraOps.pr",32,46) */
#ifdef XSCT_CMICRO
SDL_Integer z_U2ExtraOps_00_numberactive(int PartId)
{
xInstanceId InstId;
XCONST_INST xPartTable *PartData;
int Number = 0;
PartData = xPartData[PartId];
for (InstId = 0; InstId < PartData->MaxInstances; InstId++) {
if (INSTANCE_VAR(InstId)->State != XDORMANT)
Number++;
}
return Number;
}
SDL_PId z_U2ExtraOps_02_getpid(int PartId, SDL_Integer PartIndex)
{
xInstanceId InstId;
XCONST_INST xPartTable *PartData;
int Number = 0;
PartData = xPartData[PartId];
for (InstId = 0; InstId < PartData->MaxInstances; InstId++) {
if (INSTANCE_VAR(InstId)->State != XDORMANT) {
if (Number == PartIndex)
return XPID(PartId, InstId);
Number++;
}
}
return SDL_NULL;
}
#else
static SDL_Boolean xxxSameBlockInstSet(xPrsNode PFrom, xPrsNode PTo)
{
if (PTo->NameNode->InBlockInst == 0 ||
PFrom->BlockInstNumber == PTo->BlockInstNumber)
return SDL_True;
return SDL_False;
}
SDL_Integer z_U2ExtraOps_00_numberactive(xIdNode BlockId, int ContIndex, xPrsNode VarP)
{
xPrsNode P;
xPrsIdNode PrsId;
SDL_Integer Result = 0;
PrsId = xPrsInst((xIdNode)VarP->NameNode, BlockId, ContIndex);
THREADED_LISTREAD_START
P = *(((xPrsIdNode)PrsId)->ActivePrsList);
while (P) {
if (xxxSameBlockInstSet(VarP, P))
Result++;
P = P->NextPrs;
}
THREADED_LISTACCESS_END
return Result;
}
SDL_Integer z_U2ExtraOps_01_numberactive2(xIdNode PrsId)
{
xPrsNode P;
SDL_Integer Result = 0;
THREADED_LISTREAD_START
P = *(((xPrsIdNode)PrsId)->ActivePrsList);
while (P) {
P = P->NextPrs;
Result++;
}
THREADED_LISTACCESS_END
return Result;
}
SDL_PId z_U2ExtraOps_02_getpid(xIdNode BlockId, int ContIndex, xPrsNode VarP, SDL_Integer PrsIndex)
{
xPrsNode P;
xPrsIdNode PrsId;
if (PrsIndex <= 0) return SDL_NULL;
PrsId = xPrsInst((xIdNode)VarP->NameNode, BlockId, ContIndex);
THREADED_LISTREAD_START
P = *(((xPrsIdNode)PrsId)->ActivePrsList);
while (P && (PrsIndex>1)) {
if (xxxSameBlockInstSet(VarP, P))
PrsIndex--;
P = P->NextPrs;
}
while (P && !xxxSameBlockInstSet(VarP, P)) {
P = P->NextPrs;
}
THREADED_LISTACCESS_END
if (P) return P->Self;
return SDL_NULL;
}
SDL_PId z_U2ExtraOps_03_getpid2(xIdNode PrsId, SDL_Integer PrsIndex)
{
xPrsNode P;
if (PrsIndex <= 0) return SDL_NULL;
THREADED_LISTREAD_START
P = *(((xPrsIdNode)PrsId)->ActivePrsList);
while (P && (PrsIndex>1)) {
P = P->NextPrs;
PrsIndex--;
}
THREADED_LISTACCESS_END
if (P) return P->Self;
return SDL_NULL;
}
#endif
/*************************************************************************
** SECTION Initialization **
*************************************************************************/
extern void yInit_U2ExtraOps (void)
{
static int IsCalled = 0;
int Temp;
YINIT_TEMP_VARS
if (IsCalled) return;
IsCalled = 1;
xInsertIdNode((xIdNode)&yPacR_z_U2ExtraOps__U2ExtraOps);
#ifndef XOPTSORT
xInsertIdNode((xIdNode)&ySrtR_z_U2ExtraOps_0_ProcessInst);
#endif
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -