abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
giaAgi.c File Reference
#include "gia.h"

Go to the source code of this file.

Data Structures

struct  Agi_Man_t_
 

Macros

#define AGI_PI   ABC_CONST(0xFFFFFFFF00000000)
 DECLARATIONS ///. More...
 
#define AGI_RO   ABC_CONST(0xFFFFFFFE00000000)
 
#define AGI_PO   ABC_CONST(0xFFFFFFFD00000000)
 
#define AGI_RI   ABC_CONST(0xFFFFFFFC00000000)
 
#define AGI_C0   ABC_CONST(0xFFFFFFFBFFFFFFFA)
 
#define AGI_M0   ABC_CONST(0x00000000FFFFFFFF)
 
#define AGI_M1   ABC_CONST(0xFFFFFFFF00000000)
 
#define Agi_ManForEachCi(p, iCi, i)   Vec_IntForEachEntry( &p->vCis, iCi, i )
 
#define Agi_ManForEachCo(p, iCo, i)   Vec_IntForEachEntry( &p->vCos, iCo, i )
 
#define Agi_ManForEachObj(p, i)   for ( i = 0; i < Agi_ManObjNum(p); i++ )
 
#define Agi_ManForEachObj1(p, i)   for ( i = 1; i < Agi_ManObjNum(p); i++ )
 
#define Agi_ManForEachNode(p, i)   for ( i = 1; i < Agi_ManObjNum(p); i++ ) if ( !Agi_ObjIsNode(p, i) ) {} else
 

Typedefs

typedef struct Agi_Man_t_ Agi_Man_t
 

Functions

static int Agi_ManObjNum (Agi_Man_t *p)
 
static int Agi_ManCiNum (Agi_Man_t *p)
 
static int Agi_ManCoNum (Agi_Man_t *p)
 
static int Agi_ManNodeNum (Agi_Man_t *p)
 
static unsigned Agi_ObjLit0 (Agi_Man_t *p, int i)
 
static unsigned Agi_ObjLit1 (Agi_Man_t *p, int i)
 
static unsigned Agi_ObjLit2 (Agi_Man_t *p, int i)
 
static int Agi_ObjVar0 (Agi_Man_t *p, int i)
 
static int Agi_ObjVar1 (Agi_Man_t *p, int i)
 
static int Agi_ObjVar2 (Agi_Man_t *p, int i)
 
static void Agi_ObjSetLit0 (Agi_Man_t *p, int i, unsigned l)
 
static void Agi_ObjSetLit1 (Agi_Man_t *p, int i, unsigned l)
 
static void Agi_ObjSetLit2 (Agi_Man_t *p, int i, unsigned l)
 
static int Agi_ObjIsC0 (Agi_Man_t *p, int i)
 
static int Agi_ObjIsPi (Agi_Man_t *p, int i)
 
static int Agi_ObjIsRo (Agi_Man_t *p, int i)
 
static int Agi_ObjIsPo (Agi_Man_t *p, int i)
 
static int Agi_ObjIsRi (Agi_Man_t *p, int i)
 
static int Agi_ObjIsCi (Agi_Man_t *p, int i)
 
static int Agi_ObjIsCo (Agi_Man_t *p, int i)
 
static int Agi_ObjIsNode (Agi_Man_t *p, int i)
 
static int Agi_ObjIsBuf (Agi_Man_t *p, int i)
 
static int Agi_ObjIsAnd (Agi_Man_t *p, int i)
 
static int Agi_ObjIsXor (Agi_Man_t *p, int i)
 
static int Agi_ObjIsMux (Agi_Man_t *p, int i)
 
static int Agi_ObjIsMaj (Agi_Man_t *p, int i)
 
static int Agi_ManAppendObj (Agi_Man_t *p)
 
static int Agi_ManAppendCi (Agi_Man_t *p)
 
static int Agi_ManAppendCo (Agi_Man_t *p, int iLit0)
 
static int Agi_ManAppendAnd (Agi_Man_t *p, int iLit0, int iLit1)
 
Agi_Man_tAgi_ManAlloc (int nCap)
 FUNCTION DEFINITIONS ///. More...
 
void Agi_ManFree (Agi_Man_t *p)
 
Agi_Man_tAgi_ManFromGia (Gia_Man_t *p)
 
int Agi_ManSuppSize_rec (Agi_Man_t *p, int i)
 
int Agi_ManSuppSizeOne (Agi_Man_t *p, int i)
 
int Agi_ManSuppSizeTest (Agi_Man_t *p)
 
void Agi_ManTest (Gia_Man_t *pGia)
 

Macro Definition Documentation

#define AGI_C0   ABC_CONST(0xFFFFFFFBFFFFFFFA)

Definition at line 34 of file giaAgi.c.

#define AGI_M0   ABC_CONST(0x00000000FFFFFFFF)

Definition at line 35 of file giaAgi.c.

#define AGI_M1   ABC_CONST(0xFFFFFFFF00000000)

Definition at line 36 of file giaAgi.c.

#define Agi_ManForEachCi (   p,
  iCi,
 
)    Vec_IntForEachEntry( &p->vCis, iCi, i )

Definition at line 115 of file giaAgi.c.

#define Agi_ManForEachCo (   p,
  iCo,
 
)    Vec_IntForEachEntry( &p->vCos, iCo, i )

Definition at line 116 of file giaAgi.c.

#define Agi_ManForEachNode (   p,
 
)    for ( i = 1; i < Agi_ManObjNum(p); i++ ) if ( !Agi_ObjIsNode(p, i) ) {} else

Definition at line 119 of file giaAgi.c.

#define Agi_ManForEachObj (   p,
 
)    for ( i = 0; i < Agi_ManObjNum(p); i++ )

Definition at line 117 of file giaAgi.c.

#define Agi_ManForEachObj1 (   p,
 
)    for ( i = 1; i < Agi_ManObjNum(p); i++ )

Definition at line 118 of file giaAgi.c.

#define AGI_PI   ABC_CONST(0xFFFFFFFF00000000)

DECLARATIONS ///.

CFile****************************************************************

FileName [giaAig.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Scalable AIG package.]

Synopsis []

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 20, 2005.]

Revision [

Id:
giaAig.c,v 1.00 2005/06/20 00:00:00 alanmi Exp

]

Definition at line 30 of file giaAgi.c.

#define AGI_PO   ABC_CONST(0xFFFFFFFD00000000)

Definition at line 32 of file giaAgi.c.

#define AGI_RI   ABC_CONST(0xFFFFFFFC00000000)

Definition at line 33 of file giaAgi.c.

#define AGI_RO   ABC_CONST(0xFFFFFFFE00000000)

Definition at line 31 of file giaAgi.c.

Typedef Documentation

typedef struct Agi_Man_t_ Agi_Man_t

Definition at line 38 of file giaAgi.c.

Function Documentation

Agi_Man_t* Agi_ManAlloc ( int  nCap)

FUNCTION DEFINITIONS ///.

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 136 of file giaAgi.c.

137 {
138  Agi_Man_t * p;
139  nCap = Abc_MaxInt( nCap, 16 );
140  p = ABC_CALLOC( Agi_Man_t, 1 );
141  p->nCap = nCap;
142  p->pObjs = ABC_CALLOC( word, nCap );
143  p->pTravIds = ABC_CALLOC( unsigned, nCap );
144  p->pObjs[0] = AGI_C0;
145  p->nObjs = 1;
146  return p;
147 }
word * pObjs
Definition: giaAgi.c:50
unsigned * pTravIds
Definition: giaAgi.c:52
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define AGI_C0
Definition: giaAgi.c:34
static int Abc_MaxInt(int a, int b)
Definition: abc_global.h:238
int nCap
Definition: giaAgi.c:43
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
int nObjs
Definition: giaAgi.c:44
#define ABC_CALLOC(type, num)
Definition: abc_global.h:230
static int Agi_ManAppendAnd ( Agi_Man_t p,
int  iLit0,
int  iLit1 
)
inlinestatic

Definition at line 106 of file giaAgi.c.

107 {
108  int iObj = Agi_ManAppendObj( p );
109  assert( iLit0 < iLit1 );
110  p->pObjs[iObj] = ((word)iLit1 << 32) | (word)iLit0;
111  p->nNodes++;
112  return Abc_Var2Lit( iObj, 0 ); // return lit
113 }
word * pObjs
Definition: giaAgi.c:50
static int Agi_ManAppendObj(Agi_Man_t *p)
Definition: giaAgi.c:87
static int Abc_Var2Lit(int Var, int fCompl)
Definition: abc_global.h:263
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
int nNodes
Definition: giaAgi.c:45
#define assert(ex)
Definition: util_old.h:213
static int Agi_ManAppendCi ( Agi_Man_t p)
inlinestatic

Definition at line 92 of file giaAgi.c.

93 {
94  int iObj = Agi_ManAppendObj( p );
95  p->pObjs[iObj] = AGI_PI | (word)Vec_IntSize(&p->vCis);
96  Vec_IntPush( &p->vCis, iObj );
97  return Abc_Var2Lit( iObj, 0 ); // return lit
98 }
word * pObjs
Definition: giaAgi.c:50
static int Agi_ManAppendObj(Agi_Man_t *p)
Definition: giaAgi.c:87
static int Abc_Var2Lit(int Var, int fCompl)
Definition: abc_global.h:263
Vec_Int_t vCis
Definition: giaAgi.c:48
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
static void Vec_IntPush(Vec_Int_t *p, int Entry)
Definition: bblif.c:468
static int Vec_IntSize(Vec_Int_t *p)
Definition: bblif.c:252
#define AGI_PI
DECLARATIONS ///.
Definition: giaAgi.c:30
static int Agi_ManAppendCo ( Agi_Man_t p,
int  iLit0 
)
inlinestatic

Definition at line 99 of file giaAgi.c.

100 {
101  int iObj = Agi_ManAppendObj( p );
102  p->pObjs[iObj] = AGI_PO | (word)iLit0;
103  Vec_IntPush( &p->vCos, iObj );
104  return Abc_Var2Lit( iObj, 0 ); // return lit
105 }
word * pObjs
Definition: giaAgi.c:50
static int Agi_ManAppendObj(Agi_Man_t *p)
Definition: giaAgi.c:87
static int Abc_Var2Lit(int Var, int fCompl)
Definition: abc_global.h:263
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
static void Vec_IntPush(Vec_Int_t *p, int Entry)
Definition: bblif.c:468
#define AGI_PO
Definition: giaAgi.c:32
Vec_Int_t vCos
Definition: giaAgi.c:49
static int Agi_ManAppendObj ( Agi_Man_t p)
inlinestatic

Definition at line 87 of file giaAgi.c.

88 {
89  assert( p->nObjs < p->nCap );
90  return p->nObjs++; // return var
91 }
int nCap
Definition: giaAgi.c:43
int nObjs
Definition: giaAgi.c:44
#define assert(ex)
Definition: util_old.h:213
static int Agi_ManCiNum ( Agi_Man_t p)
inlinestatic

Definition at line 59 of file giaAgi.c.

59 { return Vec_IntSize( &p->vCis ); }
Vec_Int_t vCis
Definition: giaAgi.c:48
static int Vec_IntSize(Vec_Int_t *p)
Definition: bblif.c:252
static int Agi_ManCoNum ( Agi_Man_t p)
inlinestatic

Definition at line 60 of file giaAgi.c.

60 { return Vec_IntSize( &p->vCos ); }
Vec_Int_t vCos
Definition: giaAgi.c:49
static int Vec_IntSize(Vec_Int_t *p)
Definition: bblif.c:252
void Agi_ManFree ( Agi_Man_t p)

Definition at line 148 of file giaAgi.c.

149 {
150  ABC_FREE( p->pObjs );
151  ABC_FREE( p->pTravIds );
152  ABC_FREE( p->vCis.pArray );
153  ABC_FREE( p->vCos.pArray );
154  ABC_FREE( p );
155 }
word * pObjs
Definition: giaAgi.c:50
unsigned * pTravIds
Definition: giaAgi.c:52
Vec_Int_t vCis
Definition: giaAgi.c:48
Vec_Int_t vCos
Definition: giaAgi.c:49
#define ABC_FREE(obj)
Definition: abc_global.h:232
Agi_Man_t* Agi_ManFromGia ( Gia_Man_t p)

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 168 of file giaAgi.c.

169 {
170  Agi_Man_t * pNew;
171  Gia_Obj_t * pObj;
172  int i;
173  pNew = Agi_ManAlloc( Gia_ManObjNum(p) );
174  Gia_ManForEachObj1( p, pObj, i )
175  if ( Gia_ObjIsAnd(pObj) )
176  pObj->Value = Agi_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
177  else if ( Gia_ObjIsCo(pObj) )
178  pObj->Value = Agi_ManAppendCo( pNew, Gia_ObjFanin0Copy(pObj) );
179  else if ( Gia_ObjIsCi(pObj) )
180  pObj->Value = Agi_ManAppendCi( pNew );
181  else assert( 0 );
182  return pNew;
183 }
static int Agi_ManAppendCi(Agi_Man_t *p)
Definition: giaAgi.c:92
static int Agi_ManAppendCo(Agi_Man_t *p, int iLit0)
Definition: giaAgi.c:99
Definition: gia.h:75
static int Agi_ManAppendAnd(Agi_Man_t *p, int iLit0, int iLit1)
Definition: giaAgi.c:106
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
Definition: gia.h:482
Agi_Man_t * Agi_ManAlloc(int nCap)
FUNCTION DEFINITIONS ///.
Definition: giaAgi.c:136
if(last==0)
Definition: sparse_int.h:34
else
Definition: sparse_int.h:55
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
Definition: gia.h:481
static int Gia_ObjIsCo(Gia_Obj_t *pObj)
Definition: gia.h:421
static int Gia_ObjIsAnd(Gia_Obj_t *pObj)
Definition: gia.h:422
#define assert(ex)
Definition: util_old.h:213
#define Gia_ManForEachObj1(p, pObj, i)
Definition: gia.h:986
static int Gia_ObjIsCi(Gia_Obj_t *pObj)
Definition: gia.h:420
static int Gia_ManObjNum(Gia_Man_t *p)
Definition: gia.h:388
static int Agi_ManNodeNum ( Agi_Man_t p)
inlinestatic

Definition at line 61 of file giaAgi.c.

61 { return p->nNodes; }
int nNodes
Definition: giaAgi.c:45
static int Agi_ManObjNum ( Agi_Man_t p)
inlinestatic

Definition at line 58 of file giaAgi.c.

58 { return p->nObjs; }
int nObjs
Definition: giaAgi.c:44
int Agi_ManSuppSize_rec ( Agi_Man_t p,
int  i 
)

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 196 of file giaAgi.c.

197 {
198  if ( p->pTravIds[i] == p->nTravIds )
199  return 0;
200  p->pTravIds[i] = p->nTravIds;
201  if ( Agi_ObjIsCi(p, i) )
202  return 1;
203  assert( Agi_ObjIsAnd(p, i) );
204  return Agi_ManSuppSize_rec( p, Agi_ObjVar0(p, i) ) + Agi_ManSuppSize_rec( p, Agi_ObjVar1(p, i) );
205 }
unsigned * pTravIds
Definition: giaAgi.c:52
static int Agi_ObjVar0(Agi_Man_t *p, int i)
Definition: giaAgi.c:66
static int Agi_ObjVar1(Agi_Man_t *p, int i)
Definition: giaAgi.c:67
unsigned nTravIds
Definition: giaAgi.c:47
int Agi_ManSuppSize_rec(Agi_Man_t *p, int i)
Definition: giaAgi.c:196
#define assert(ex)
Definition: util_old.h:213
static int Agi_ObjIsCi(Agi_Man_t *p, int i)
Definition: giaAgi.c:78
static int Agi_ObjIsAnd(Agi_Man_t *p, int i)
Definition: giaAgi.c:82
int Agi_ManSuppSizeOne ( Agi_Man_t p,
int  i 
)

Definition at line 206 of file giaAgi.c.

207 {
208  p->nTravIds++;
209  return Agi_ManSuppSize_rec( p, i );
210 }
unsigned nTravIds
Definition: giaAgi.c:47
int Agi_ManSuppSize_rec(Agi_Man_t *p, int i)
Definition: giaAgi.c:196
int Agi_ManSuppSizeTest ( Agi_Man_t p)

Definition at line 211 of file giaAgi.c.

212 {
213  abctime clk = Abc_Clock();
214  int i, Counter = 0;
215  Agi_ManForEachNode( p, i )
216  Counter += (Agi_ManSuppSizeOne(p, i) <= 16);
217  printf( "Nodes with small support %d (out of %d)\n", Counter, Agi_ManNodeNum(p) );
218  Abc_PrintTime( 1, "Time", Abc_Clock() - clk );
219  return Counter;
220 
221 }
static abctime Abc_Clock()
Definition: abc_global.h:279
#define Agi_ManForEachNode(p, i)
Definition: giaAgi.c:119
static void Abc_PrintTime(int level, const char *pStr, abctime time)
Definition: abc_global.h:367
static int Counter
int Agi_ManSuppSizeOne(Agi_Man_t *p, int i)
Definition: giaAgi.c:206
static int Agi_ManNodeNum(Agi_Man_t *p)
Definition: giaAgi.c:61
ABC_INT64_T abctime
Definition: abc_global.h:278
void Agi_ManTest ( Gia_Man_t pGia)

Definition at line 222 of file giaAgi.c.

223 {
224  extern int Gia_ManSuppSizeTest( Gia_Man_t * p );
225  Agi_Man_t * p;
226  Gia_ManSuppSizeTest( pGia );
227  p = Agi_ManFromGia( pGia );
228  Agi_ManSuppSizeTest( p );
229  Agi_ManFree( p );
230 }
void Agi_ManFree(Agi_Man_t *p)
Definition: giaAgi.c:148
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Agi_Man_t * Agi_ManFromGia(Gia_Man_t *p)
Definition: giaAgi.c:168
Definition: gia.h:95
int Agi_ManSuppSizeTest(Agi_Man_t *p)
Definition: giaAgi.c:211
int Gia_ManSuppSizeTest(Gia_Man_t *p)
Definition: giaDfs.c:276
static int Agi_ObjIsAnd ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 82 of file giaAgi.c.

82 { return Agi_ObjIsNode(p, i) && Agi_ObjLit0(p, i) < Agi_ObjLit1(p, i); }
static unsigned Agi_ObjLit0(Agi_Man_t *p, int i)
Definition: giaAgi.c:63
static unsigned Agi_ObjLit1(Agi_Man_t *p, int i)
Definition: giaAgi.c:64
static int Agi_ObjIsNode(Agi_Man_t *p, int i)
Definition: giaAgi.c:80
static int Agi_ObjIsBuf ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 81 of file giaAgi.c.

81 { return Agi_ObjLit0(p, i) == Agi_ObjLit1(p, i); }
static unsigned Agi_ObjLit0(Agi_Man_t *p, int i)
Definition: giaAgi.c:63
static unsigned Agi_ObjLit1(Agi_Man_t *p, int i)
Definition: giaAgi.c:64
static int Agi_ObjIsC0 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 73 of file giaAgi.c.

73 { return (i == 0); }
static int Agi_ObjIsCi ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 78 of file giaAgi.c.

78 { return (p->pObjs[i] & AGI_RO) == AGI_RO; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_RO
Definition: giaAgi.c:31
static int Agi_ObjIsCo ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 79 of file giaAgi.c.

79 { return (p->pObjs[i] & AGI_RO) == AGI_PO; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_PO
Definition: giaAgi.c:32
#define AGI_RO
Definition: giaAgi.c:31
static int Agi_ObjIsMaj ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 85 of file giaAgi.c.

85 { return Agi_ObjIsXor(p, i) && ~Agi_ObjLit2(p, i); }
static unsigned Agi_ObjLit2(Agi_Man_t *p, int i)
Definition: giaAgi.c:65
static int Agi_ObjIsXor(Agi_Man_t *p, int i)
Definition: giaAgi.c:83
static int Agi_ObjIsMux ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 84 of file giaAgi.c.

84 { return Agi_ObjIsAnd(p, i) && ~Agi_ObjLit2(p, i); }
static unsigned Agi_ObjLit2(Agi_Man_t *p, int i)
Definition: giaAgi.c:65
static int Agi_ObjIsAnd(Agi_Man_t *p, int i)
Definition: giaAgi.c:82
static int Agi_ObjIsNode ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 80 of file giaAgi.c.

80 { return p->pObjs[i] < AGI_C0; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_C0
Definition: giaAgi.c:34
static int Agi_ObjIsPi ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 74 of file giaAgi.c.

74 { return (p->pObjs[i] & AGI_PI) == AGI_PI; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_PI
DECLARATIONS ///.
Definition: giaAgi.c:30
static int Agi_ObjIsPo ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 76 of file giaAgi.c.

76 { return (p->pObjs[i] & AGI_PI) == AGI_PO; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_PO
Definition: giaAgi.c:32
#define AGI_PI
DECLARATIONS ///.
Definition: giaAgi.c:30
static int Agi_ObjIsRi ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 77 of file giaAgi.c.

77 { return (p->pObjs[i] & AGI_PI) == AGI_RI; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_RI
Definition: giaAgi.c:33
#define AGI_PI
DECLARATIONS ///.
Definition: giaAgi.c:30
static int Agi_ObjIsRo ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 75 of file giaAgi.c.

75 { return (p->pObjs[i] & AGI_PI) == AGI_RO; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_RO
Definition: giaAgi.c:31
#define AGI_PI
DECLARATIONS ///.
Definition: giaAgi.c:30
static int Agi_ObjIsXor ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 83 of file giaAgi.c.

83 { return Agi_ObjIsNode(p, i) && Agi_ObjLit0(p, i) > Agi_ObjLit1(p, i); }
static unsigned Agi_ObjLit0(Agi_Man_t *p, int i)
Definition: giaAgi.c:63
static unsigned Agi_ObjLit1(Agi_Man_t *p, int i)
Definition: giaAgi.c:64
static int Agi_ObjIsNode(Agi_Man_t *p, int i)
Definition: giaAgi.c:80
static unsigned Agi_ObjLit0 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 63 of file giaAgi.c.

63 { return (unsigned)(p->pObjs[i]); }
word * pObjs
Definition: giaAgi.c:50
static unsigned Agi_ObjLit1 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 64 of file giaAgi.c.

64 { return (unsigned)(p->pObjs[i] >> 32); }
word * pObjs
Definition: giaAgi.c:50
static unsigned Agi_ObjLit2 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 65 of file giaAgi.c.

65 { return p->pThird[i]; }
unsigned * pThird
Definition: giaAgi.c:51
static void Agi_ObjSetLit0 ( Agi_Man_t p,
int  i,
unsigned  l 
)
inlinestatic

Definition at line 69 of file giaAgi.c.

69 { p->pObjs[i] = (p->pObjs[i] & AGI_M1) | (word)l; }
word * pObjs
Definition: giaAgi.c:50
#define AGI_M1
Definition: giaAgi.c:36
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
static void Agi_ObjSetLit1 ( Agi_Man_t p,
int  i,
unsigned  l 
)
inlinestatic

Definition at line 70 of file giaAgi.c.

70 { p->pObjs[i] = (p->pObjs[i] & AGI_M0) | ((word)l << 32); }
#define AGI_M0
Definition: giaAgi.c:35
word * pObjs
Definition: giaAgi.c:50
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
static void Agi_ObjSetLit2 ( Agi_Man_t p,
int  i,
unsigned  l 
)
inlinestatic

Definition at line 71 of file giaAgi.c.

71 { p->pThird[i] = l; }
unsigned * pThird
Definition: giaAgi.c:51
static int Agi_ObjVar0 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 66 of file giaAgi.c.

66 { return Agi_ObjLit0(p, i) >> 1; }
static unsigned Agi_ObjLit0(Agi_Man_t *p, int i)
Definition: giaAgi.c:63
static int Agi_ObjVar1 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 67 of file giaAgi.c.

67 { return Agi_ObjLit1(p, i) >> 1; }
static unsigned Agi_ObjLit1(Agi_Man_t *p, int i)
Definition: giaAgi.c:64
static int Agi_ObjVar2 ( Agi_Man_t p,
int  i 
)
inlinestatic

Definition at line 68 of file giaAgi.c.

68 { return Agi_ObjLit2(p, i) >> 1; }
static unsigned Agi_ObjLit2(Agi_Man_t *p, int i)
Definition: giaAgi.c:65