abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/vec/vec.h"
#include "aig/gia/gia.h"
Go to the source code of this file.
Data Structures | |
struct | Abc_ZddObj_ |
struct | Abc_ZddEnt_ |
struct | Abc_ZddMan_ |
Typedefs | |
typedef struct Abc_ZddObj_ | Abc_ZddObj |
typedef struct Abc_ZddEnt_ | Abc_ZddEnt |
typedef struct Abc_ZddMan_ | Abc_ZddMan |
Functions | |
static int | Abc_ZddIthVar (int i) |
static unsigned | Abc_ZddHash (int Arg0, int Arg1, int Arg2) |
static Abc_ZddObj * | Abc_ZddNode (Abc_ZddMan *p, int i) |
static int | Abc_ZddObjId (Abc_ZddMan *p, Abc_ZddObj *pObj) |
static int | Abc_ZddObjVar (Abc_ZddMan *p, int i) |
static void | Abc_ZddSetVarIJ (Abc_ZddMan *p, int i, int j, int v) |
static int | Abc_ZddVarIJ (Abc_ZddMan *p, int i, int j) |
static int | Abc_ZddVarsClash (Abc_ZddMan *p, int v0, int v1) |
static int | Abc_ZddCacheLookup (Abc_ZddMan *p, int Arg0, int Arg1, int Arg2) |
FUNCTION DEFINITIONS ///. More... | |
static int | Abc_ZddCacheInsert (Abc_ZddMan *p, int Arg0, int Arg1, int Arg2, int Res) |
static int | Abc_ZddUniqueLookup (Abc_ZddMan *p, int Var, int True, int False) |
static int | Abc_ZddUniqueCreate (Abc_ZddMan *p, int Var, int True, int False) |
int | Abc_ZddBuildSet (Abc_ZddMan *p, int *pSet, int Size) |
Abc_ZddMan * | Abc_ZddManAlloc (int nVars, int nObjs) |
void | Abc_ZddManCreatePerms (Abc_ZddMan *p, int nPermSize) |
void | Abc_ZddManFree (Abc_ZddMan *p) |
int | Abc_ZddDiff (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddUnion (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddMinUnion (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddIntersect (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddCof0 (Abc_ZddMan *p, int a, int Var) |
int | Abc_ZddCof1 (Abc_ZddMan *p, int a, int Var) |
int | Abc_ZddCountPaths (Abc_ZddMan *p, int a) |
int | Abc_ZddCount_rec (Abc_ZddMan *p, int i) |
void | Abc_ZddUnmark_rec (Abc_ZddMan *p, int i) |
int | Abc_ZddCountNodes (Abc_ZddMan *p, int i) |
int | Abc_ZddCountNodesArray (Abc_ZddMan *p, Vec_Int_t *vNodes) |
int | Abc_ZddThresh (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddDotProduct (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddDotMinProduct6 (Abc_ZddMan *p, int a, int b) |
int | Abc_ZddPerm (Abc_ZddMan *p, int a, int Var) |
int | Abc_ZddPermProduct (Abc_ZddMan *p, int a, int b) |
void | Abc_ZddPermPrint (int *pPerm, int Size) |
void | Abc_ZddCombPrint (int *pComb, int nTrans) |
int | Abc_ZddPerm2Comb (int *pPerm, int Size, int *pComb) |
void | Abc_ZddComb2Perm (int *pComb, int nTrans, int *pPerm, int Size) |
void | Abc_ZddPermCombTest () |
void | Abc_ZddPrint_rec (Abc_ZddMan *p, int a, int *pPath, int Size) |
void | Abc_ZddPrint (Abc_ZddMan *p, int a) |
void | Abc_ZddPrintTest (Abc_ZddMan *p) |
void | Abc_ZddGiaTest (Gia_Man_t *pGia) |
void | Abc_ZddPermTestInt (Abc_ZddMan *p) |
void | Abc_ZddPermTest () |
void | Abc_EnumerateCubeStatesZdd () |
typedef struct Abc_ZddEnt_ Abc_ZddEnt |
Definition at line 63 of file extraUtilPerm.c.
typedef struct Abc_ZddMan_ Abc_ZddMan |
Definition at line 72 of file extraUtilPerm.c.
typedef struct Abc_ZddObj_ Abc_ZddObj |
Definition at line 54 of file extraUtilPerm.c.
enum Abc_ZddOper |
DECLARATIONS ///.
CFile****************************************************************
FileName [extraUtilPerm.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [extra]
Synopsis [Permutation computation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
Definition at line 34 of file extraUtilPerm.c.
void Abc_EnumerateCubeStatesZdd | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 845 of file extraUtilPerm.c.
int Abc_ZddBuildSet | ( | Abc_ZddMan * | p, |
int * | pSet, | ||
int | Size | ||
) |
Definition at line 164 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 125 of file extraUtilPerm.c.
|
inlinestatic |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 119 of file extraUtilPerm.c.
int Abc_ZddCof0 | ( | Abc_ZddMan * | p, |
int | a, | ||
int | Var | ||
) |
Definition at line 348 of file extraUtilPerm.c.
int Abc_ZddCof1 | ( | Abc_ZddMan * | p, |
int | a, | ||
int | Var | ||
) |
Definition at line 366 of file extraUtilPerm.c.
void Abc_ZddComb2Perm | ( | int * | pComb, |
int | nTrans, | ||
int * | pPerm, | ||
int | Size | ||
) |
Definition at line 651 of file extraUtilPerm.c.
void Abc_ZddCombPrint | ( | int * | pComb, |
int | nTrans | ||
) |
Definition at line 627 of file extraUtilPerm.c.
int Abc_ZddCount_rec | ( | Abc_ZddMan * | p, |
int | i | ||
) |
Definition at line 409 of file extraUtilPerm.c.
int Abc_ZddCountNodes | ( | Abc_ZddMan * | p, |
int | i | ||
) |
Definition at line 432 of file extraUtilPerm.c.
int Abc_ZddCountNodesArray | ( | Abc_ZddMan * | p, |
Vec_Int_t * | vNodes | ||
) |
Definition at line 438 of file extraUtilPerm.c.
int Abc_ZddCountPaths | ( | Abc_ZddMan * | p, |
int | a | ||
) |
Definition at line 385 of file extraUtilPerm.c.
int Abc_ZddDiff | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 253 of file extraUtilPerm.c.
int Abc_ZddDotMinProduct6 | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 501 of file extraUtilPerm.c.
int Abc_ZddDotProduct | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 473 of file extraUtilPerm.c.
void Abc_ZddGiaTest | ( | Gia_Man_t * | pGia | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 743 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 94 of file extraUtilPerm.c.
int Abc_ZddIntersect | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 324 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 93 of file extraUtilPerm.c.
Abc_ZddMan* Abc_ZddManAlloc | ( | int | nVars, |
int | nObjs | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 184 of file extraUtilPerm.c.
void Abc_ZddManCreatePerms | ( | Abc_ZddMan * | p, |
int | nPermSize | ||
) |
Definition at line 209 of file extraUtilPerm.c.
void Abc_ZddManFree | ( | Abc_ZddMan * | p | ) |
Definition at line 227 of file extraUtilPerm.c.
int Abc_ZddMinUnion | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 299 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 96 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 97 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 98 of file extraUtilPerm.c.
int Abc_ZddPerm | ( | Abc_ZddMan * | p, |
int | a, | ||
int | Var | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 543 of file extraUtilPerm.c.
int Abc_ZddPerm2Comb | ( | int * | pPerm, |
int | Size, | ||
int * | pComb | ||
) |
Definition at line 636 of file extraUtilPerm.c.
void Abc_ZddPermCombTest | ( | ) |
Definition at line 659 of file extraUtilPerm.c.
void Abc_ZddPermPrint | ( | int * | pPerm, |
int | Size | ||
) |
Function*************************************************************
Synopsis [Printing permutations and transpositions.]
Description []
SideEffects []
SeeAlso []
Definition at line 619 of file extraUtilPerm.c.
int Abc_ZddPermProduct | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 590 of file extraUtilPerm.c.
void Abc_ZddPermTest | ( | ) |
Definition at line 824 of file extraUtilPerm.c.
void Abc_ZddPermTestInt | ( | Abc_ZddMan * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 789 of file extraUtilPerm.c.
void Abc_ZddPrint | ( | Abc_ZddMan * | p, |
int | a | ||
) |
Definition at line 704 of file extraUtilPerm.c.
void Abc_ZddPrint_rec | ( | Abc_ZddMan * | p, |
int | a, | ||
int * | pPath, | ||
int | Size | ||
) |
Function*************************************************************
Synopsis [Printing ZDDs.]
Description []
SideEffects []
SeeAlso []
Definition at line 683 of file extraUtilPerm.c.
void Abc_ZddPrintTest | ( | Abc_ZddMan * | p | ) |
Definition at line 710 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 100 of file extraUtilPerm.c.
int Abc_ZddThresh | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 459 of file extraUtilPerm.c.
int Abc_ZddUnion | ( | Abc_ZddMan * | p, |
int | a, | ||
int | b | ||
) |
Definition at line 275 of file extraUtilPerm.c.
|
inlinestatic |
|
inlinestatic |
void Abc_ZddUnmark_rec | ( | Abc_ZddMan * | p, |
int | i | ||
) |
Definition at line 420 of file extraUtilPerm.c.
|
inlinestatic |
Definition at line 101 of file extraUtilPerm.c.