VIS
|
#include "tblInt.h"
Go to the source code of this file.
Functions | |
static int | CommandTableTest (Hrc_Manager_t **hmgr, int argc, char **argv) |
static void | TestTblPrint (Tbl_Table_t *table) |
void | Tbl_Init (void) |
void | Tbl_End (void) |
Variables | |
static char rcsid[] | UNUSED = "$Id: tblTest.c,v 1.12 2009/04/11 02:01:29 fabio Exp $" |
static int CommandTableTest | ( | Hrc_Manager_t ** | hmgr, |
int | argc, | ||
char ** | argv | ||
) | [static] |
AutomaticStart
Function********************************************************************
Synopsis [com function for testing]
Description [This is an internal function, whose purpose is to help the developer test code. It is not fixed in function.]
SideEffects []
CommandName [_tbl_test] CommandSynopsis [test the functionality of the tbl package.] CommandArguments [\[-h\] \[-v\]] CommandDescription [Tests the functionality of the tbl package.
Command options:
]
SeeAlso []
Definition at line 113 of file tblTest.c.
{ int c; Tbl_Table_t *table; int i; Hrc_Node_t * node; boolean verbose UNUSED = FALSE; /* default */ /* * Parse the command line. */ util_getopt_reset(); while ((c = util_getopt(argc, argv, "vh")) != EOF) { switch (c) { case 'v': verbose = 1; break; case 'h': goto usage; default: goto usage; } } node = Hrc_ManagerReadRootNode(*hmgr); if (node == NIL(Hrc_Node_t)) { (void) fprintf(vis_stdout, "No file has been read in. Use read_blif_mv.\n"); return 1; } Hrc_NodeForEachNameTable(node,i,table) { if (i>0) { fprintf(vis_stdout, "---------------------------\n") ; Tbl_TableWriteBlifMvToFile (table, 0, vis_stdout) ; fprintf(vis_stdout, "---------------------------\n") ; } /* TestTblPrint(table); */ } return 0; usage: (void) fprintf(vis_stderr, "usage: _tbl_test [-h] [-v]\n"); (void) fprintf(vis_stderr, " -h print the command usage\n"); (void) fprintf(vis_stderr, " -v verbose\n"); return 1; /* error exit */ }
void Tbl_End | ( | void | ) |
void Tbl_Init | ( | void | ) |
AutomaticEnd Function********************************************************************
Synopsis [Initializes the table (Tbl) package.]
SideEffects []
SeeAlso [Ntm_End]
Definition at line 68 of file tblTest.c.
{ Cmd_CommandAdd("_tbl_test", CommandTableTest, /* doesn't changes_network */0); }
static void TestTblPrint | ( | Tbl_Table_t * | table | ) | [static] |
Function********************************************************************
Synopsis [Test Table code]
Description []
SideEffects []
SeeAlso []
Definition at line 179 of file tblTest.c.
{ /* array_t *check; */ mdd_manager *mddMgr; Tbl_Table_t *newTable; int i; /* int j, offset; */ /* Mvf_Function_t *outMvf; */ /* Var_Variable_t *var; */ /* int colNum; */ /* array_t *faninMvfArray; */ /* array_t *mvarValues; */ /* array_t *totalSupportArray; */ /* int numInputs; */ /* int rowNumi, rowNumj; */ /* Tbl_Row_t *rowi, *rowj; */ /* boolean check; */ Tbl_TableWriteBlifMvToFile(table,0,vis_stdout); mddMgr = mdd_init_empty(); for(i=0; i < Tbl_TableReadNumOutputs(table); i++){ if (Tbl_TableTestIsOutputSpaceComplete(table, mddMgr) ) { newTable = Tbl_TableCreateTrueSupportTableForOutput(table,NIL(Mvf_Function_t), mddMgr,0,i,NIL(array_t)); printf(" NEW table for %d \n", i); Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); printf("\n"); } } mdd_quit(mddMgr); /* Tbl_TableWriteBlifMvToFile(table,0,vis_stdout); * printf(" Test 1\n"); * mddMgr = mdd_init_empty(); * for(i=0; i < Tbl_TableReadNumOutputs(table); i++){ * newTable = * Tbl_TableCreateTrueSupportTableForOutput(table,NIL(Mvf_Function_t), mddMgr,0,i,NIL(array_t)); * printf(" NEW table for %d \n", i); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * printf("\n"); * } * mdd_quit(mddMgr); * * printf(" Test 2\n"); * * mddMgr = mdd_init_empty(); * for(i=0; i < Tbl_TableReadNumOutputs(table); i++){ * mvarValues = array_alloc(int, 0); * numInputs = Tbl_TableReadNumInputs(table ); * totalSupportArray = array_alloc(int, 0); * faninMvfArray = array_alloc(Mvf_Function_t *, 0); * * Tbl_TableForEachInputVar(table, colNum, var) { * array_insert_last(int, mvarValues, Var_VariableReadNumValues(var)); * } * offset = array_n(mdd_ret_mvar_list(mddMgr)); * mdd_create_variables(mddMgr,mvarValues, NIL(array_t), NIL(array_t)); * array_free(mvarValues); * * for (j = 0; j < numInputs; j++) { * Mvf_Function_t *faninMvf = Mvf_FunctionCreateFromVariable(mddMgr, (j+offset)); * array_insert_last(Mvf_Function_t *, faninMvfArray, faninMvf); * } * * outMvf = Tbl_TableBuildMvfFromFanins(table, i, faninMvfArray, mddMgr); * Mvf_FunctionArrayFree(faninMvfArray); * newTable = * Tbl_TableCreateTrueSupportTableForOutput(table,outMvf, mddMgr,offset,i,NIL(array_t)); * printf(" NEW table for %d \n", i); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * printf("\n"); * } * mdd_quit(mddMgr); */ /* testing hard and soft dups */ /* newTable = Tbl_TableHardDup(table); * printf(" NEW table Hard\n"); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * Tbl_TableSetEntryDc(newTable,Tbl_TableReadNumRows(table)-1,\ * Tbl_TableReadNumInputs(table)-1, 0); * printf(" NEW table Hard Modify\n"); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * printf(" Old table Hard Modify \n" ); * Tbl_TableWriteBlifMvToFile(table,0,vis_stdout); * Tbl_TableFree(newTable); * * newTable = Tbl_TableSoftDup(table); * printf(" NEW table Soft\n"); * Tbl_TableWriteBlifMvToFile(table,0,vis_stdout); * printf(" NEW table Soft\n"); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * Tbl_TableSetEntryDc(newTable,Tbl_TableReadNumRows(table)-1,\ * Tbl_TableReadNumInputs(table)-1, 0); * printf(" NEW table Soft Modify\n"); * Tbl_TableWriteBlifMvToFile(newTable,0,vis_stdout); * printf(" Old table Soft Modify \n" ); * Tbl_TableWriteBlifMvToFile(table,0,vis_stdout); * Tbl_TableFree(newTable); * Tbl_TableFree(table); */ /* testing row intersect */ /* TblTableForEachRow(table,rowi,rowNumi) { * TblTableForEachRow(table,rowj,rowNumj) { * check = Tbl_RowInputIntersect(table,rowNumi, rowNumj); * printf("Rows %d and %d intersect = %d\n",rowNumi, rowNumj, check); * } * } */ }
char rcsid [] UNUSED = "$Id: tblTest.c,v 1.12 2009/04/11 02:01:29 fabio Exp $" [static] |
CFile***********************************************************************
FileName [ tblTest.c ]
PackageName [ tbl ]
Synopsis [ This package is used to manipulate the table data structure ]
Description [ The table data structure is used to store the information contained in the blif_mv table. This structure supports all constructs in blif_mv including the recursive constructs. This is consistent with the previous version of this data- structure.]
SeeAlso [ tbl.h, tblEntryUtil.c ]
Author [ Gitanjali M. Swamy ]
Copyright [Copyright (c) 1994-1996 The Regents of the Univ. of California. All rights reserved.
Permission is hereby granted, without written agreement and without license or royalty fees, to use, copy, modify, and distribute this software and its documentation for any purpose, provided that the above copyright notice and the following two paragraphs appear in all copies of this software.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.]