Modifying 'write_truth' to dump truth table in hex.

This commit is contained in:
Alan Mishchenko
2019-05-07 07:27:31 +08:00
parent eb2764b525
commit 7ccb25bfe9
3 changed files with 30 additions and 3 deletions
+1
View File
@@ -125,6 +125,7 @@ extern int Extra_ReadHexadecimal( unsigned Sign[], char * pString, int
extern void Extra_PrintHexadecimal( FILE * pFile, unsigned Sign[], int nVars );
extern void Extra_PrintHexadecimalString( char * pString, unsigned Sign[], int nVars );
extern void Extra_PrintHex( FILE * pFile, unsigned * pTruth, int nVars );
extern void Extra_PrintHex2( FILE * pFile, unsigned * pTruth, int nVars );
extern void Extra_PrintHexReverse( FILE * pFile, unsigned * pTruth, int nVars );
extern void Extra_PrintSymbols( FILE * pFile, char Char, int nTimes, int fPrintNewLine );
+18
View File
@@ -656,6 +656,24 @@ void Extra_PrintHex( FILE * pFile, unsigned * pTruth, int nVars )
}
// fprintf( pFile, "\n" );
}
void Extra_PrintHex2( FILE * pFile, unsigned * pTruth, int nVars )
{
int nMints, nDigits, Digit, k;
// write the number into the file
//fprintf( pFile, "0x" );
nMints = (1 << nVars);
nDigits = nMints / 4 + ((nMints % 4) > 0);
for ( k = nDigits - 1; k >= 0; k-- )
{
Digit = ((pTruth[k/8] >> (k * 4)) & 15);
if ( Digit < 10 )
fprintf( pFile, "%d", Digit );
else
fprintf( pFile, "%c", 'A' + Digit-10 );
}
// fprintf( pFile, "\n" );
}
void Extra_PrintHexReverse( FILE * pFile, unsigned * pTruth, int nVars )
{
int nMints, nDigits, Digit, k;