Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       polardupablexpr - duplicates an expression and moves down the inverters.

SYNOPSYS

       #include "abl101.h"
       chain_list ∗polardupablexpr( Expr, Polar )
         chain_list ∗Expr;
         int         Polar;

PARAMETERS

       Expr                Expression to modify.

       Polar               Expression polarity.

DESCRIPTION

       polardupablexpr  modifies  Expr  by  moving  down  the  inverters  to  the  atomic  level.
       polardupablexpr applies the Morgan's laws. If Polar is  equal  to  ABL_POLAR_NEGATIVE  the
       function returns the modified expression after having complemented it.

RETURN VALUE

       polardupablexpr returns the modified expression.

EXAMPLE

       #include "abl101.h"
         chain_list ∗Expr1;
         chain_list ∗Expr2;
         Expr1 = createabloper( ABL_NOT );
         Expr2 = createabloper( ABL_NOT );
         addablhexpr( Expr1, createablatom( "a" ) );
         addablhexpr( Expr2, Expr1 );
         Expr1 = polardupablexpr( Expr2, ABL_POLAR_POSITIVE );
         /* displays  a */
         viewablexpr( Expr1, ABL_VIEW_VHDL );

SEE ALSO

       abl(1)