1POLARDUPABLEXPR(3)               ABL FUNCTIONS              POLARDUPABLEXPR(3)
2
3
4

NAME

6       polardupablexpr  -  duplicates an expression and moves down the invert‐
7       ers.
8
9

SYNOPSIS

11       #include "abl101.h"
12       chain_list ∗polardupablexpr( Expr, Polar )
13         chain_list ∗Expr;
14         int         Polar;
15

PARAMETERS

17       Expr                Expression to modify.
18
19       Polar               Expression polarity.
20

DESCRIPTION

22       polardupablexpr modifies Expr by  moving  down  the  inverters  to  the
23       atomic  level.   polardupablexpr applies the Morgan's laws. If Polar is
24       equal to ABL_POLAR_NEGATIVE the function returns the  modified  expres‐
25       sion after having complemented it.
26

RETURN VALUE

28       polardupablexpr returns the modified expression.
29

EXAMPLE

31       #include "abl101.h"
32         chain_list ∗Expr1;
33         chain_list ∗Expr2;
34         Expr1 = createabloper( ABL_NOT );
35         Expr2 = createabloper( ABL_NOT );
36         addablhexpr( Expr1, createablatom( "a" ) );
37         addablhexpr( Expr2, Expr1 );
38         Expr1 = polardupablexpr( Expr2, ABL_POLAR_POSITIVE );
39         /* displays  a */
40         viewablexpr( Expr1, ABL_VIEW_VHDL );
41

SEE ALSO

43       abl(1)
44
45
46
47
48
49
50ASIM/LIP6                       October 1, 1997             POLARDUPABLEXPR(3)
Impressum