Commit 9a35f82d by Alan Mishchenko

Supporting 'define-fun' with an expression rather than a constant.

parent 4f0f2e09
...@@ -981,12 +981,25 @@ Wlc_Ntk_t * Smt_PrsBuild2( Smt_Prs_t * p ) ...@@ -981,12 +981,25 @@ Wlc_Ntk_t * Smt_PrsBuild2( Smt_Prs_t * p )
assert( !strcmp("Bool", Smt_VecEntryName(p, vFans, 3)) ); assert( !strcmp("Bool", Smt_VecEntryName(p, vFans, 3)) );
Range = 1; Range = 1;
pValue = Smt_VecEntryName(p, vFans, 4); pValue = Smt_VecEntryName(p, vFans, 4);
if ( !strcmp("false", pValue) ) if ( pValue != NULL )
pValue = "#b0"; {
else if ( !strcmp("true", pValue) ) if ( !strcmp("false", pValue) )
pValue = "#b1"; pValue = "#b0";
else assert( 0 ); else if ( !strcmp("true", pValue) )
Status = Smt_PrsBuildConstant( pNtk, pValue, Range, pName ); pValue = "#b1";
else assert( 0 );
Status = Smt_PrsBuildConstant( pNtk, pValue, Range, pName );
}
else
{
iObj = Smt_PrsBuild2_rec( pNtk, p, Vec_IntEntry(vFans, 4), -1, pName );
if ( iObj == 0 )
{
Wlc_NtkFree( pNtk ); pNtk = NULL;
goto finish;
}
continue;
}
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment