#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include "misc/vec/vec.h"#include "misc/extra/extra.h"#include "misc/util/utilTruth.h"
Go to the source code of this file.
Classes | |
| struct | Abc_BSEval_t_ |
Macros | |
| #define | MAX_TT_SIZE 24 |
| DECLARATIONS ///. | |
Functions | |
| int | Abc_TtGetCM1 (word *p, int nVars) |
| FUNCTION DEFINITIONS ///. | |
| int | Abc_TtGetCM2 (word *p, int nVars) |
| int | Abc_TtGetCM3 (word *p, int nVars, int *pCounts, Vec_Int_t *vUsed) |
| int | Abc_TtGetCM4 (word *p, int nVars, int *pCounts, Vec_Int_t *vUsed) |
| int | Abc_TtGetKey (unsigned char *p, int nSize, int nTableSize) |
| int | Abc_TtHashLookup5 (int Entry, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtGetCM5 (word *p, int nVars, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtHashLookup6 (word *pEntry, int nWords, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtGetCM6 (word *p, int nVars, int nFVars, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtGetCMCount (word *p, int nVars, int nFVars, Vec_Int_t *vCounts, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtGetCM1Pat (word *p, int nVars, word *pPat) |
| int | Abc_TtGetCM2Pat (word *p, int nVars, word *pPat) |
| int | Abc_TtGetCM3Pat (word *p, int nVars, int *pMap, Vec_Int_t *vUsed, word *pPat) |
| int | Abc_TtGetCM4Pat (word *p, int nVars, int *pMap, Vec_Int_t *vUsed, word *pPat) |
| int | Abc_TtGetCM5Pat (word *p, int nVars, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed, word *pPat) |
| int | Abc_TtGetCM6Pat (word *p, int nVars, int nFVars, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed, word *pPat) |
| void | Abc_TtPrintPat (word *pPat, int nVars, int nMyu) |
| int | Abc_TtCheck1Shared (word *pPat, int nVars, int nFVars, int nMyu) |
| int | Abc_TtGetCMInt (word *p, int nVars, int nFVars, Vec_Int_t *vCounts, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed, word *pPat) |
| int | Abc_TtGetCMPat (word *p, int nVars, int nFVars, Vec_Int_t *vCounts, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed) |
| int | Abc_TtGetCM (word *p, int nVars, int nFVars, Vec_Int_t *vCounts, Vec_Int_t *vTable, Vec_Wrd_t *vStore, Vec_Int_t *vUsed, int fShared) |
| void | Abc_TtPermGenTest () |
| void | Abc_GenChaseNext (int a[], int w[], int *r) |
| Vec_Int_t * | Abc_GenChasePairs (int N, int T) |
| void | Abc_GenChasePrint (int Count, int *pPerm, int nVars, int nFVars, int Var0, int Var1) |
| void | Abc_GenChaseTest () |
| Abc_BSEval_t * | Abc_BSEvalAlloc () |
| void | Abc_BSEvalFree (Abc_BSEval_t *p) |
| void | Abc_BSEvalOneTest (word *pT, int nVars, int nLVars, int fVerbose) |
| int | Abc_BSEvalBest (Abc_BSEval_t *p, word *pIn, word *pBest, word *pBest2, int nVars, int nCVars, int nFVars, int fVerbose, int *pPermBest, int *pPermBest2, int fShared, int nJRatio) |
| void | Abc_BSEvalBestTest (word *pIn, int nVars, int nLVars, int fShared, int fVerbose) |
| void | Abc_BSEvalBestGen (int nVars, int nLVars, int nFuncs, int nMints, int fTryAll, int fShared, int fVerbose) |
| void | Abc_BSEvalCreateCofs (int iSet, int nVars, Vec_Wrd_t *vCofs, Vec_Wrd_t *vElems) |
| Vec_Wrd_t * | Abc_BSEvalCreateCofactorSets (int nVars, Vec_Wec_t **pvSets) |
| int | Abc_SharedEvalBest (Abc_BSEval_t *p, word *pTruth, int nVars, int nCVars, int nFVars, int MyuMin, int nRails, int fVerbose, int *pSetShared, int *pnSetSize, word *pPat) |
| word | Abc_TtFindBVarsSVars (word *pTruth, int nVars, int nRVars, int nRails, int nLutSize, int fVerbose, int *pMyu, int nJRatio) |
| word | Abc_BSEvalEncode (int *pPermBest, int nVars, int nLutSize, int Shared, int MyuMin, int SharedSize) |
| Vec_Wrd_t * | Abc_TtFindBVarsSVars2 (Abc_BSEval_t *p, word *pTruth, int nVars, int nCVars, int nRails, int nLutSize, int fVerbose, int *pMyu, int nMyuIncrease) |
| #define MAX_TT_SIZE 24 |
DECLARATIONS ///.
CFile****************************************************************
FileName [utilBSet.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Bound set evaluation.]
Synopsis [Bound set evaluation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - December 25, 2024.]
Revision [
]
Definition at line 41 of file utilBSet.c.
| Abc_BSEval_t * Abc_BSEvalAlloc | ( | ) |
Function*************************************************************
Synopsis [Bound-set evalution for one function.]
Description []
SideEffects []
SeeAlso []
Definition at line 556 of file utilBSet.c.

| int Abc_BSEvalBest | ( | Abc_BSEval_t * | p, |
| word * | pIn, | ||
| word * | pBest, | ||
| word * | pBest2, | ||
| int | nVars, | ||
| int | nCVars, | ||
| int | nFVars, | ||
| int | fVerbose, | ||
| int * | pPermBest, | ||
| int * | pPermBest2, | ||
| int | fShared, | ||
| int | nJRatio ) |
Definition at line 596 of file utilBSet.c.


| void Abc_BSEvalBestGen | ( | int | nVars, |
| int | nLVars, | ||
| int | nFuncs, | ||
| int | nMints, | ||
| int | fTryAll, | ||
| int | fShared, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Testing on random functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 723 of file utilBSet.c.

| void Abc_BSEvalBestTest | ( | word * | pIn, |
| int | nVars, | ||
| int | nLVars, | ||
| int | fShared, | ||
| int | fVerbose ) |
Definition at line 686 of file utilBSet.c.

Definition at line 833 of file utilBSet.c.


Function*************************************************************
Synopsis [Finds shared variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 818 of file utilBSet.c.

| word Abc_BSEvalEncode | ( | int * | pPermBest, |
| int | nVars, | ||
| int | nLutSize, | ||
| int | Shared, | ||
| int | MyuMin, | ||
| int | SharedSize ) |
Definition at line 997 of file utilBSet.c.

| void Abc_BSEvalFree | ( | Abc_BSEval_t * | p | ) |
Definition at line 565 of file utilBSet.c.

| void Abc_BSEvalOneTest | ( | word * | pT, |
| int | nVars, | ||
| int | nLVars, | ||
| int | fVerbose ) |
Definition at line 581 of file utilBSet.c.

| void Abc_GenChaseNext | ( | int | a[], |
| int | w[], | ||
| int * | r ) |
Function*************************************************************
Synopsis [Combination generation.]
Description [https://stackoverflow.com/questions/22650522/how-to-generate-chases-sequence]
SideEffects []
SeeAlso []
Definition at line 456 of file utilBSet.c.

| Vec_Int_t * Abc_GenChasePairs | ( | int | N, |
| int | T ) |
Definition at line 481 of file utilBSet.c.


| void Abc_GenChasePrint | ( | int | Count, |
| int * | pPerm, | ||
| int | nVars, | ||
| int | nFVars, | ||
| int | Var0, | ||
| int | Var1 ) |
Definition at line 510 of file utilBSet.c.

| void Abc_GenChaseTest | ( | ) |
Definition at line 521 of file utilBSet.c.

| int Abc_SharedEvalBest | ( | Abc_BSEval_t * | p, |
| word * | pTruth, | ||
| int | nVars, | ||
| int | nCVars, | ||
| int | nFVars, | ||
| int | MyuMin, | ||
| int | nRails, | ||
| int | fVerbose, | ||
| int * | pSetShared, | ||
| int * | pnSetSize, | ||
| word * | pPat ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 883 of file utilBSet.c.


| int Abc_TtCheck1Shared | ( | word * | pPat, |
| int | nVars, | ||
| int | nFVars, | ||
| int | nMyu ) |
Definition at line 322 of file utilBSet.c.


| word Abc_TtFindBVarsSVars | ( | word * | pTruth, |
| int | nVars, | ||
| int | nRVars, | ||
| int | nRails, | ||
| int | nLutSize, | ||
| int | fVerbose, | ||
| int * | pMyu, | ||
| int | nJRatio ) |
Function*************************************************************
Synopsis [Computes bound set and shared set of the next stage.]
Description []
SideEffects []
SeeAlso []
Definition at line 925 of file utilBSet.c.

| Vec_Wrd_t * Abc_TtFindBVarsSVars2 | ( | Abc_BSEval_t * | p, |
| word * | pTruth, | ||
| int | nVars, | ||
| int | nCVars, | ||
| int | nRails, | ||
| int | nLutSize, | ||
| int | fVerbose, | ||
| int * | pMyu, | ||
| int | nMyuIncrease ) |
Definition at line 1009 of file utilBSet.c.


| int Abc_TtGetCM | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vCounts, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed, | ||
| int | fShared ) |
Definition at line 380 of file utilBSet.c.


| int Abc_TtGetCM1 | ( | word * | p, |
| int | nVars ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Bound-set evalution.]
Description []
SideEffects []
SeeAlso []
Definition at line 74 of file utilBSet.c.

Function*************************************************************
Synopsis [Bound-set evalution.]
Description []
SideEffects []
SeeAlso []
Definition at line 221 of file utilBSet.c.


| int Abc_TtGetCM2 | ( | word * | p, |
| int | nVars ) |
Definition at line 84 of file utilBSet.c.

Definition at line 236 of file utilBSet.c.


Definition at line 94 of file utilBSet.c.

Definition at line 251 of file utilBSet.c.

Definition at line 109 of file utilBSet.c.

Definition at line 267 of file utilBSet.c.

Definition at line 153 of file utilBSet.c.


| int Abc_TtGetCM5Pat | ( | word * | p, |
| int | nVars, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed, | ||
| word * | pPat ) |
Definition at line 283 of file utilBSet.c.


| int Abc_TtGetCM6 | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed ) |
Definition at line 179 of file utilBSet.c.


| int Abc_TtGetCM6Pat | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed, | ||
| word * | pPat ) |
Definition at line 299 of file utilBSet.c.


| int Abc_TtGetCMCount | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vCounts, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed ) |
Definition at line 192 of file utilBSet.c.


| int Abc_TtGetCMInt | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vCounts, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed, | ||
| word * | pPat ) |
Definition at line 348 of file utilBSet.c.


| int Abc_TtGetCMPat | ( | word * | p, |
| int | nVars, | ||
| int | nFVars, | ||
| Vec_Int_t * | vCounts, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed ) |
Definition at line 371 of file utilBSet.c.


| int Abc_TtGetKey | ( | unsigned char * | p, |
| int | nSize, | ||
| int | nTableSize ) |
Definition at line 126 of file utilBSet.c.

Definition at line 140 of file utilBSet.c.


| int Abc_TtHashLookup6 | ( | word * | pEntry, |
| int | nWords, | ||
| Vec_Int_t * | vTable, | ||
| Vec_Wrd_t * | vStore, | ||
| Vec_Int_t * | vUsed ) |
Definition at line 165 of file utilBSet.c.


| void Abc_TtPermGenTest | ( | ) |
Definition at line 429 of file utilBSet.c.
| void Abc_TtPrintPat | ( | word * | pPat, |
| int | nVars, | ||
| int | nMyu ) |
Definition at line 316 of file utilBSet.c.

