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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 757 - (show annotations)
Mon Jun 26 13:12:56 2006 UTC (13 years, 2 months ago) by woo409
File MIME type: text/plain
File size: 2944 byte(s)
+ Merge of intelc_win32 branch (revision 741:755) with trunk. Tested on iVEC altix (run_tests and py_tests all pass)

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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26