/[escript]/trunk/escript/src/DataProf.h
ViewVC logotype

Contents of /trunk/escript/src/DataProf.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 478 - (show annotations)
Tue Jan 31 02:21:49 2006 UTC (13 years, 6 months ago) by jgs
File MIME type: text/plain
File size: 3226 byte(s)
rationalise #includes

1 /*
2 ******************************************************************************
3 * *
4 * COPYRIGHT ACcESS 2004 - All Rights Reserved *
5 * *
6 * This software is the property of ACcESS. No part of this code *
7 * may be copied in any form or by any means without the expressed written *
8 * consent of ACcESS. Copying, use or modification of this software *
9 * by any unauthorised person is illegal unless that person has a software *
10 * license agreement with ACcESS. *
11 * *
12 ******************************************************************************
13 */
14
15 #if !defined escript_DataProf_20050620_H
16 #define escript_DataProf_20050620_H
17
18 #include <string>
19
20 using namespace std;
21
22 namespace escript {
23
24 typedef struct profDataEntry {
25 int interpolate;
26 int grad;
27 int integrate;
28 int where;
29 int unary;
30 int binary;
31 int reduction1;
32 int reduction2;
33 int slicing;
34 } profDataEntry;
35
36 /**
37 \brief
38 Class used for tracking profiling data within the escript Data class.
39
40 Description:
41 Give a detailed description of DataProf
42
43 Template Parameters:
44 For templates describe any conditions that the parameters used in the
45 template must satisfy
46 */
47 class DataProf {
48
49 public:
50
51 /**
52 \brief
53 Default constructor for DataProf
54
55 Description:
56 Default constructor for DataProf
57
58 Preconditions:
59 Describe any preconditions
60
61 Throws:
62 Describe any exceptions thrown
63 */
64 DataProf();
65
66 /**
67 \brief
68 Default destructor for DataProf
69
70 Description:
71 Default destructor for DataProf
72
73 Preconditions:
74 Describe any preconditions
75
76 Throws:
77 Describe any exceptions thrown
78 */
79 ~DataProf();
80
81 /**
82 \brief
83 Return a new table entry for tracking profiling data on
84 an escript Data object.
85
86 Description:
87 Return a new table entry for tracking profiling data on
88 an escript Data object.
89
90 Preconditions:
91 Describe any preconditions
92
93 Throws:
94 Describe any exceptions thrown
95 */
96 profDataEntry*
97 newData();
98
99 /**
100 \brief
101 Dump the contents of a profData entry as a formatted string.
102
103 Description:
104 Dump the contents of a profData entry as a formatted string.
105
106 Preconditions:
107 Describe any preconditions
108
109 Throws:
110 Describe any exceptions thrown
111 */
112 string
113 dumpProf(profDataEntry* entry);
114
115 /**
116 \brief
117 Compress the contents of profData table and dump as a formatted string.
118
119 Description:
120 Compress the contents of profData table and dump as a formatted string.
121
122 Preconditions:
123 Describe any preconditions
124
125 Throws:
126 Describe any exceptions thrown
127 */
128 string
129 compProf();
130
131 protected:
132
133 private:
134
135 typedef struct profDataTable {
136 struct profDataEntry* data;
137 struct profDataTable* next;
138 } profDataTable;
139
140 profDataTable* profDataTable_Root;
141
142 int totalDataObjects;
143
144 };
145
146 } // end of namespace
147
148 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26