Provided by: alliance_5.1.1-1.1_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)

ASIM/LIP6                                        October 1, 1997                              POLARDUPABLEXPR(3)