DOKK / manpages / debian 10 / alliance / polardupablexpr.3.en
POLARDUPABLEXPR(3) ABL FUNCTIONS POLARDUPABLEXPR(3)

polardupablexpr - duplicates an expression and moves down the inverters.

See the file buster/alliance/alc_origin.1.en.gz.

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

chain_list ∗Expr;
int Polar;

Expression to modify.
Expression polarity.

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.

polardupablexpr returns the modified expression.

#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 );

abl(1)

See the file buster/alliance/alc_bug_report.1.en.gz.

October 1, 1997 ASIM/LIP6