VIS

src/tbl/tblAigEntryUtil.c File Reference

#include "tblInt.h"
#include "baig.h"
Include dependency graph for tblAigEntryUtil.c:

Go to the source code of this file.

Functions

mAigEdge_t TblEntryNormalConstructAig (mAig_Manager_t *manager, Tbl_Entry_t *entry, array_t *mAigArray)
mAigEdge_t TblEntryEqualConstructMAig (mAig_Manager_t *manager, Tbl_Entry_t *entry, MvfAig_Function_t *mAigArray, MvfAig_Function_t *mEigArray)

Variables

static char rcsid[] UNUSED = "$Id: tblAigEntryUtil.c,v 1.4 2005/04/17 14:37:23 awedh Exp $"

Function Documentation

mAigEdge_t TblEntryEqualConstructMAig ( mAig_Manager_t *  manager,
Tbl_Entry_t *  entry,
MvfAig_Function_t *  mAigArray,
MvfAig_Function_t *  mEigArray 
)

Function********************************************************************

Synopsis [Returns the mAigEdge_t for a table entry]

Description [Given an array of constituent mAigEdge_t, and a table entry, this returns an mAig for the entry. The array of mAigEdge_t's must contain an mAigEdge_t for value i in position i, for all values i.]

SideEffects []

SeeAlso [] [Done]

Definition at line 90 of file tblAigEntryUtil.c.

{
  lsGen        gen;
  Tbl_Range_t *range;
  int          i;
  mAigEdge_t   result, temp, x;

  assert(entry->type == Tbl_EntryNormal_c);
  result = mAig_Zero;
  lsForEachItem(entry->EntryData.listOfRanges, gen, range) {
    for (i=range->begin; i< (range->end +1); i++) {
      temp = result;
      x = MvfAig_FunctionReadComponent(mAigArray,i);
      result = mAig_Or(manager, temp, x);
      temp = result;
      x = MvfAig_FunctionReadComponent(mAigArray,i);
      result = mAig_Or(manager, temp, x);
    }
  }
  return result;
}

Here is the call graph for this function:

mAigEdge_t TblEntryNormalConstructAig ( mAig_Manager_t *  manager,
Tbl_Entry_t *  entry,
array_t *  mAigArray 
)

AutomaticStart AutomaticEnd Function********************************************************************

Synopsis [Returns the mAigEdge_t for a table entry]

Description [Given an array of constituent mAigEdge_t, and a table entry, this returns an mAig for the entry. The array of mAigEdge_t's must contain an mAigEdge_t for value i in position i, for all values i.]

SideEffects []

SeeAlso [] [Done]

Definition at line 55 of file tblAigEntryUtil.c.

{
  lsGen gen;
  Tbl_Range_t *range;
  int i;
  mAigEdge_t result, temp, x;
    
  result = mAig_Zero;
  lsForEachItem(entry->EntryData.listOfRanges, gen, range) {
    for (i=range->begin; i< (range->end +1); i++) {
      temp = result;
      x = MvfAig_FunctionReadComponent(mAigArray,i);
      result = mAig_Or(manager, temp, x);
    }
  }
  return result;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

char rcsid [] UNUSED = "$Id: tblAigEntryUtil.c,v 1.4 2005/04/17 14:37:23 awedh Exp $" [static]

CFile***********************************************************************

FileName [tblAigEntryUtil.c]

PackageName [tbl]

Synopsis []

Description [Defines functions to manuplate table Entry using And/Inverter graph]

SeeAlso [tblUtil.c, tblAigUtil.c]

Author [Mohammad Awedh]

Copyright []

Definition at line 22 of file tblAigEntryUtil.c.