#include "mdd.h" /* * MDD Package * * $Id: mdd_andsmoot.c,v 1.12 2002/08/27 00:55:23 fabio Exp $ * * Author: Timothy Kam * * Copyright 1992 by the Regents of the University of California. * * All rights reserved. Permission to use, copy, modify and distribute * this software is hereby granted, provided that the above copyright * notice and this permission notice appear in all copies. This software * is made available as is, with no warranties. */ mdd_t * mdd_and_smooth( mdd_manager *mgr, mdd_t *f, mdd_t *g, array_t *mvars) { int i, j, mv_no; mvar_type mv; mdd_t *top; bdd_t *temp; array_t *bdd_vars = array_alloc(bdd_t *, 0); array_t *mvar_list = mdd_ret_mvar_list(mgr); if ( mvars == NIL( array_t ) ) { printf("\nWARNING: Empty Array of Smoothing Variables\n"); array_free(bdd_vars); return ( bdd_and(f, g, 1, 1) ) ; } else if ( array_n(mvars) == 0) { printf("\nWARNING: Empty Array of Smoothing Variables\n"); array_free(bdd_vars); return ( bdd_and(f, g, 1, 1) ) ; } for (i=0; i