00001 /*------------------------------------------------------------------- 00002 * Name: legoTrace.H 00003 * 00004 * Designer: Bill Havanki 00005 * 00006 * Created: 3/19/97 (Top o' the mornin'!) 00007 * 00008 * Description: This file contains the LEGO header file which 00009 * defines the trace derived class. 00010 * 00011 * Location: /ncsu/tinker/LEGO/src/derived/legoTrace.H 00012 -------------------------------------------------------------------- 00013 * 3/19/97 WAH: Initial file creation. 00014 * 3/24/97 WAH: Added RefreshEdges method et al. 00015 * 4/17/97 WAH: Added max_size, max_opct, mmp parameters to Construct 00016 * and Select. 00017 * 4/29/97 WAH: Added escape parameter to Construct and Select. 00018 * 6/11/97 WAH: Added GetOpCount method. 00019 --------------------------------------------------------------------*/ 00020 00021 #ifndef LEGOTRACE_H 00022 #define LEGOTRACE_H 00023 00024 #include <stdio.h> 00025 #include <values.h> 00026 #include "region.H" 00027 00028 //--------------------------------------------------------------------------- 00029 00030 class legoTrace : public legoRegion 00031 { 00032 // number of incoming edges to qualify a block as a "major" merge 00033 /* 00034 unsigned Select (legoRegion *, int, int, int, int, int, int, double, 00035 double, double, char); 00036 */ 00037 00038 public: 00039 legoTrace () : legoRegion (RT_TRACE,0) 00040 { 00041 // fprintf(stderr,"Creating LEGOTRACE %p\n",this); 00042 } 00043 legoTrace (unsigned rId = 0): legoRegion(RT_TRACE,rId) 00044 { 00045 // fprintf(stderr,"Creating LEGOTRACE %p\n",this); 00046 } 00047 legoTrace (const legoTrace &orig) : legoRegion ((legoRegion) orig) 00048 { 00049 // fprintf(stderr,"Creating LEGOTRACE %p\n",this); 00050 } 00051 ~legoTrace() 00052 { 00053 RegionKiller(); 00054 // fprintf(stderr,"Deleting LEGOTRACE %p\n",this); 00055 } 00056 int GetOpCount (void) 00057 { 00058 int opct = 0; 00059 00060 for (int i = 0; i < GetCount(); i++) 00061 opct += ((legoRegion *) GetItem(i))->GetOpCount(); 00062 return opct; 00063 } 00064 /* 00065 unsigned Construct (legoRegion *, int = 0, int = MAXINT, int = MAXINT, 00066 int = MAJOR_MERGE_POINT, int = 0, double = 0.0, 00067 double = 0.0, double = 0.0, char = (char) 0); 00068 void Deconstruct (void); 00069 unsigned Reconstruct (legoRegion *); 00070 */ 00071 void Dump (FILE *); 00072 void RefreshOps (void) 00073 { 00074 RefreshEntryOps(); 00075 RefreshExitOps(); 00076 } // end RefreshOps 00077 void RefreshEntryOps (void); 00078 void RefreshExitOps (void); 00079 void RefreshEdges (void) 00080 { 00081 RefreshEntryEdges(); 00082 RefreshExitEdges(); 00083 } // end RefreshEdges 00084 void RefreshEntryEdges (void); 00085 void RefreshExitEdges (void); 00086 }; 00087 #endif // LEGOTRACE_H 00088 00089 00090 00091
1.3.2