polardupablexpr.3alc man page

polardupablexpr — duplicates an expression and moves down the inverters.

Synopsis

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

Info

October 1, 1997 ASIM/LIP6 ABL FUNCTIONS