Skip to content
Merged
Show file tree
Hide file tree
Changes from 89 commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
ce46491
✨Introducing Power Constraints
FeldmeierMichael Dec 22, 2025
eaf802e
💬Added Comments
FeldmeierMichael Dec 22, 2025
1e91c85
🔨Clang-Tidy Work Nr.1
FeldmeierMichael Dec 22, 2025
7f757fb
🔨Clang-Tidy Work Nr.2
FeldmeierMichael Dec 23, 2025
b7d9cda
🔨Clang-Tidy Work Nr.3
FeldmeierMichael Dec 23, 2025
5db661c
🔨Clang-Tidy Work Nr.4
FeldmeierMichael Dec 23, 2025
066d8a9
🔨Clang-Tidy Work Nr.5
FeldmeierMichael Dec 24, 2025
49c4398
🔨Clang-Tidy Work Nr.6
FeldmeierMichael Dec 24, 2025
6c72d4e
🔨Clang-Tidy Work Nr.7
FeldmeierMichael Dec 24, 2025
369520e
🔨Clang-Tidy Work Nr.8
FeldmeierMichael Dec 24, 2025
79930f6
✏️Added AI Feedback Nr.1
FeldmeierMichael Dec 29, 2025
ef14acc
🔨Clang-Tidy Work Nr.9
FeldmeierMichael Dec 29, 2025
cbe28f5
🔨Clang-Tidy Work Nr.10
FeldmeierMichael Dec 29, 2025
695c3e5
✏️Added AI Feedback Nr.2
FeldmeierMichael Dec 29, 2025
d832cc4
✏️Added AI Feedback Nr.3
FeldmeierMichael Dec 29, 2025
30b4e96
✏️Added AI Feedback Nr.4
FeldmeierMichael Dec 29, 2025
14ee69f
✏️Added AI Feedback Nr.5
FeldmeierMichael Dec 29, 2025
8519970
✏️Fixed Docstrings
FeldmeierMichael Dec 30, 2025
0a73fb5
✏️Added AI Feedback Nr.6
FeldmeierMichael Jan 2, 2026
bac74c6
🔨Clang-Tidy Work Nr.11
FeldmeierMichael Jan 2, 2026
09d248b
✏️Added AI Feedback Nr.7
FeldmeierMichael Jan 2, 2026
0755c2c
✏️Added AI Feedback Nr.8
FeldmeierMichael Jan 2, 2026
51be917
✏️Added AI Feedback Nr.9
FeldmeierMichael Jan 2, 2026
472c2a9
✏️Added AI Feedback Nr.10
FeldmeierMichael Jan 2, 2026
f9aa838
🔨Clang-Tidy Work Nr.12
FeldmeierMichael Jan 2, 2026
2fa42fd
🔨Clang-Tidy Work Nr.13
FeldmeierMichael Jan 2, 2026
7de42cf
✏️Added AI Feedback Nr.11
FeldmeierMichael Jan 2, 2026
8b7ef56
✏️Added AI Feedback Nr.12
FeldmeierMichael Jan 2, 2026
e3761b7
✏️Added AI Feedback Nr.13
FeldmeierMichael Jan 5, 2026
a834933
🔨Clang-Tidy Work Nr.14
FeldmeierMichael Jan 5, 2026
725809e
✏️Added AI Feedback Nr.14
FeldmeierMichael Jan 5, 2026
13f780c
✏️Added AI Feedback Nr.15
FeldmeierMichael Jan 5, 2026
242bafc
✏️Added AI Feedback Nr.16
FeldmeierMichael Jan 5, 2026
1800800
Merge branch 'main' into power-encoding
marcelwa Jan 6, 2026
d8934ac
👷 Including Review Feedback Nr.1
FeldmeierMichael Jan 14, 2026
658edfc
Merge branch 'power-encoding' of https://github.com/cda-tum/ext-pexac…
FeldmeierMichael Jan 14, 2026
9199e4e
🚨 Fixed Ubuntu Integration Fail Nr.1
FeldmeierMichael Jan 14, 2026
25940fd
✏️Added AI Feedback Nr.17
FeldmeierMichael Jan 14, 2026
35ff0f9
👷 Including Review Feedback Nr.2
FeldmeierMichael Jan 19, 2026
5ed23e8
✏️Added AI Feedback Nr.18
FeldmeierMichael Jan 28, 2026
fedde94
🔨Clang-Tidy Work Nr.15
FeldmeierMichael Jan 28, 2026
bf89dee
🔨Clang-Tidy Work Nr.16
FeldmeierMichael Jan 28, 2026
9d6b17c
:art: Small consistency fixes.
marcelwa Jan 28, 2026
64650a1
✏️Added AI Feedback Nr.19
FeldmeierMichael Jan 28, 2026
eb9f16a
✏️Added AI Feedback Nr.20
FeldmeierMichael Feb 16, 2026
3644cef
✏️Added AI Feedback Nr.21
FeldmeierMichael Feb 16, 2026
dec844a
🔨 Added Cudd Bdd support for Pseudo Boolean CCs -> CNF
FeldmeierMichael Apr 12, 2026
63cd8ad
Merge branch 'main' into ✨-Adding-Advanced-Power-Encoding
FeldmeierMichael Apr 12, 2026
afe89d3
🎨 pre-commit fixes
pre-commit-ci[bot] Apr 12, 2026
f8278a4
🐛 Fixed dublicated List declaration
FeldmeierMichael Apr 12, 2026
1743091
✏️ Clang-Tidy Nr.1
FeldmeierMichael Apr 12, 2026
3e28ef7
✏️ Clang-Tidy Nr.2
FeldmeierMichael Apr 12, 2026
7193fad
✏️ Clang-Tidy Nr.3
FeldmeierMichael Apr 12, 2026
edccdee
✏️ Clang-Tidy Nr.4
FeldmeierMichael Apr 12, 2026
331f156
✏️ Clang-Tidy Nr.5
FeldmeierMichael Apr 13, 2026
cb24d99
✏️ Clang-Tidy Nr.6
FeldmeierMichael Apr 13, 2026
f5ef615
✏️ Clang-Tidy Nr.7
FeldmeierMichael Apr 13, 2026
5d0a8c8
✏️ Clang-Tidy Nr.8
FeldmeierMichael Apr 13, 2026
4b5f822
✏️ Clang-Tidy Nr.9
FeldmeierMichael Apr 13, 2026
077e622
✏️ Clang-Tidy Nr.10
FeldmeierMichael Apr 13, 2026
c99b1cd
✏️ Clang-Tidy Nr.11
FeldmeierMichael Apr 13, 2026
0755a18
✏️ Clang-Tidy Nr.12
FeldmeierMichael Apr 13, 2026
d70dc1f
✏️ Clang-Tidy Nr.13
FeldmeierMichael Apr 13, 2026
31d3a56
✏️ Clang-Tidy Nr.14
FeldmeierMichael Apr 13, 2026
00520ef
✏️ Clang-Tidy Nr.15
FeldmeierMichael Apr 13, 2026
17233ea
✏️ Clang-Tidy Nr.16
FeldmeierMichael Apr 13, 2026
53f3288
✏️ Clang-Tidy Nr.17
FeldmeierMichael Apr 13, 2026
da264b5
✏️ Clang-Tidy Nr.18
FeldmeierMichael Apr 13, 2026
eabe913
✏️ Clang-Tidy Nr.19
FeldmeierMichael Apr 13, 2026
7c3bac7
✏️ Clang-Tidy Nr.20
FeldmeierMichael Apr 13, 2026
4ab3309
📝 Docstrings+ and Command Usage update
FeldmeierMichael Apr 13, 2026
b65d022
✏️ Clang-Tidy Nr.21
FeldmeierMichael Apr 13, 2026
2a3b189
✏️ AI Feedback Nr.1
FeldmeierMichael Apr 13, 2026
88ae586
✏️ Clang-Tidy Nr.22
FeldmeierMichael Apr 13, 2026
315d2c1
✏️ Clang-Tidy Nr.23
FeldmeierMichael Apr 13, 2026
a10eca2
✏️ AI Feedback Nr.2
FeldmeierMichael Apr 13, 2026
a364068
✏️ Clang-Tidy Nr.24
FeldmeierMichael Apr 13, 2026
1b1ba9e
✏️ Updated const declaration
FeldmeierMichael Apr 13, 2026
7432500
✏️ Docstring Update
FeldmeierMichael Apr 13, 2026
c25855b
✏️ AI Feedback Nr.3
FeldmeierMichael Apr 13, 2026
895eeae
✏️ AI Feedback Nr.3
FeldmeierMichael Apr 13, 2026
72456fd
✏️ Clang-Tidy Nr.25
FeldmeierMichael Apr 13, 2026
8dca9a3
✏️ AI Feedback Nr.4
FeldmeierMichael Apr 13, 2026
35d20e0
✏️ AI Feedback Nr.5
FeldmeierMichael Apr 13, 2026
88f7d9f
✏️ AI Feedback Nr.6
FeldmeierMichael Apr 13, 2026
6041181
✏️ Clang-Tidy Nr.26
FeldmeierMichael Apr 13, 2026
35f678e
✏️ Clang-Tidy Nr.27
FeldmeierMichael Apr 13, 2026
4b1a80e
✏️ Clang-Tidy Nr.28
FeldmeierMichael Apr 13, 2026
4d6e5ec
✏️ AI Feedback Nr.7
FeldmeierMichael Apr 13, 2026
d473dd2
✏️ AI Feedback Nr.8
FeldmeierMichael Apr 13, 2026
4669fd6
✏️ AI Feedback Nr.9
FeldmeierMichael Apr 13, 2026
73e6b2a
✏️ Obsolete printf removed
FeldmeierMichael Apr 13, 2026
9edc1e0
👷 Apply suggestions from Marcel
FeldmeierMichael Apr 14, 2026
8c8a1f7
🚀 Included Marcels feedback
FeldmeierMichael Apr 14, 2026
eda3aa6
💸 Hopefully last AI Feedback
FeldmeierMichael Apr 14, 2026
7914a17
🦖 Apply suggestions from code review
FeldmeierMichael Apr 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 36 additions & 3 deletions init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,24 @@ extern "C"
namespace
{
const int DECIMAL_BASE = 10;
const int STEPSIZE_75 = 75;


int RunPexact( int searchMode, Bmc_EsPar_t * pPars )
{
int status = 0;
if ( searchMode == 0 )
{
status = PexaManExactPowerSynthesisBasePower( pPars );
} else if ( searchMode == 1 )
{
status = PexaManExactPowerSynthesisBasePowerBDD( pPars );
} else if ( searchMode == 2 )
{
status = PexaManExactPowerSynthesisBasePowerBDDBinary( pPars, STEPSIZE_75 );
}
return status;
}
/**
* @brief Pexact command.
*
Expand All @@ -41,7 +58,8 @@ int PexactCommand( Abc_Frame_t * pAbc, int argc, char ** argv )
Bmc_EsParSetDefault( pPars );
Extra_UtilGetoptReset();
Abc_FrameInit( pAbc );
while ( ( c = Extra_UtilGetopt( argc, argv, "I" ) ) != EOF )
int searchMode = 0; // Default search mode
while ( ( c = Extra_UtilGetopt( argc, argv, "IM" ) ) != EOF )
{
switch ( c )
{
Expand All @@ -54,6 +72,20 @@ int PexactCommand( Abc_Frame_t * pAbc, int argc, char ** argv )
pPars->nVars = strtol( argv[globalUtilOptind], &pEnd, DECIMAL_BASE );
globalUtilOptind++;
break;
case 'M':
if ( globalUtilOptind >= argc )
{
Abc_Print( -1, "Command line switch \"-M\" should be followed by an integer.\n" );
goto usage;
}
searchMode = strtol( argv[globalUtilOptind], &pEnd, DECIMAL_BASE );
if ( searchMode < 0 || searchMode > 2 )
{
Abc_Print( -1, "Invalid search mode. Valid values are 0 (queue search), 1 (free search), and 2 (binary search).\n" );
goto usage;
}
globalUtilOptind++;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
break;
default:
goto usage;
Comment thread
FeldmeierMichael marked this conversation as resolved.
}
Expand Down Expand Up @@ -81,11 +113,12 @@ int PexactCommand( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "Function should not have more than 4 inputs.\n" );
return 1;
}
return PexaManExactPowerSynthesisBasePower( pPars );
return RunPexact( searchMode, pPars );
usage:
Comment thread
FeldmeierMichael marked this conversation as resolved.
Abc_Print( -2, "usage: pexact [-I] <hex>\n" );
Abc_Print( -2, "usage: pexact [-I <num>] [-M <num>] <hex>\n" );
Abc_Print( -2, "\t exact synthesis of multi-input function using two-input gates\n" );
Abc_Print( -2, "\t-I <num> : the number of input variables [default = %d]\n", pPars->nVars );
Abc_Print( -2, "\t-M <num> : search space exploration mode 0: queue search 1: free search 2: binary search [default = 0]\n" );
Comment thread
FeldmeierMichael marked this conversation as resolved.
Outdated
return 1;
}
/**
Expand Down
Loading
Loading