notExpr(2)

ORIGIN
Cao-vlsi libraries, log package, libablmmm.a

NAME
notExpr - complements an expressio and eventually does a simplification

SYNOPSIS
#include "logmmm.h"
chain_list *notExpr(expr)
chain_list *expr;

PARAMETER

expr
    expression to complement

DESCRIPTION
notExpr() complements expr as follows : if expr has a NOT as head operator, notExpr removes it by simplification, if it doesn't, notExpr adds an inverter before expr. You mustn't free expr because notExpr() makes a physical modification on expr so that it becomes undefined after this function call.

EXAMPLE
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr1,*expr2;
expr1 = createExpr(NOT);
addQExpr(expr1,createAtom("var1"));
expr2 = notExpr(expr1);   	/* expr1 becomes undefined */
displayExpr(expr2);
/* it will display
var1
*/
freeExpr(expr2);		/* don't free expr1 ! */

SEE ALSO
log(1), abl(1), createAtom(2), createExpr(2), createBinExpr(2), addQExpr(2), addHExpr(2), freeExpr(2).

SUPPORT STATUS
if bugs arise, please e-mail to cao-vlsi@masi.ibp.fr