From a8db621dc96768cf2cf543be905d534579847020 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 3 Jul 2007 08:01:00 -0700 Subject: Version abc70703 --- src/map/if/if.h | 1 + src/map/if/ifMan.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'src/map') diff --git a/src/map/if/if.h b/src/map/if/if.h index cdf9e1c7..a5aa3356 100644 --- a/src/map/if/if.h +++ b/src/map/if/if.h @@ -337,6 +337,7 @@ extern If_Obj_t * If_ManCreateCi( If_Man_t * p ); extern If_Obj_t * If_ManCreateCo( If_Man_t * p, If_Obj_t * pDriver, int fCompl0 ); extern If_Obj_t * If_ManCreateAnd( If_Man_t * p, If_Obj_t * pFan0, int fCompl0, If_Obj_t * pFan1, int fCompl1 ); extern If_Obj_t * If_ManCreateXnor( If_Man_t * p, If_Obj_t * pFan0, If_Obj_t * pFan1 ); +extern If_Obj_t * If_ManCreateMnux( If_Man_t * p, If_Obj_t * pFan0, If_Obj_t * pFan1, If_Obj_t * pCtrl ); extern void If_ManCreateChoice( If_Man_t * p, If_Obj_t * pRepr ); extern void If_ManSetupCutTriv( If_Man_t * p, If_Cut_t * pCut, int ObjId ); extern void If_ManSetupCiCutSets( If_Man_t * p ); diff --git a/src/map/if/ifMan.c b/src/map/if/ifMan.c index 00a5b228..923dd7d5 100644 --- a/src/map/if/ifMan.c +++ b/src/map/if/ifMan.c @@ -235,6 +235,25 @@ If_Obj_t * If_ManCreateXnor( If_Man_t * p, If_Obj_t * pFan0, If_Obj_t * pFan1 ) return If_ManCreateAnd( p, pRes1, 1, pRes2, 1 ); } +/**Function************************************************************* + + Synopsis [Create the new node assuming it does not exist.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +If_Obj_t * If_ManCreateMnux( If_Man_t * p, If_Obj_t * pFan0, If_Obj_t * pFan1, If_Obj_t * pCtrl ) +{ + If_Obj_t * pRes1, * pRes2; + pRes1 = If_ManCreateAnd( p, pFan0, 0, pCtrl, 1 ); + pRes2 = If_ManCreateAnd( p, pFan1, 0, pCtrl, 0 ); + return If_ManCreateAnd( p, pRes1, 1, pRes2, 1 ); +} + /**Function************************************************************* Synopsis [Creates the choice node.] -- cgit v1.2.3