summaryrefslogtreecommitdiffstats
path: root/dis/Field/field.c
diff options
context:
space:
mode:
Diffstat (limited to 'dis/Field/field.c')
-rw-r--r--dis/Field/field.c78
1 files changed, 39 insertions, 39 deletions
diff --git a/dis/Field/field.c b/dis/Field/field.c
index 248f779..900d47b 100644
--- a/dis/Field/field.c
+++ b/dis/Field/field.c
@@ -86,55 +86,55 @@ int main(int argc, char **argv) {
86 return (-1); 86 return (-1);
87 87
88 randInit(seed); 88 randInit(seed);
89 for (l = 0; l < f; l++) {
90 field[l] = randInt(MIN_TOKEN_VALUE, MAX_TOKEN_VALUE);
91 }
92 89
93 startTime = time(NULL); 90 for_each_job {
94 START_LOOP 91 for (l = 0; l < f; l++) {
92 field[l] = randInt(MIN_TOKEN_VALUE, MAX_TOKEN_VALUE);
93 }
95 94
96 for (l = 0; l < n; l++) { 95 startTime = time(NULL);
97 unsigned int index;
98 96
99 token[l].subfields = 0; 97 for (l = 0; l < n; l++) {
100 token[l].stat[0].count = 0; 98 unsigned int index;
101 token[l].stat[0].sum = 0;
102 token[l].stat[0].min = MAX_TOKEN_VALUE;
103 99
104 index = 0; 100 token[l].subfields = 0;
105 while ((index < f) && (token[l].subfields < MAX_SUBFIELDS)) { 101 token[l].stat[0].count = 0;
106 unsigned char offset; 102 token[l].stat[0].sum = 0;
107 offset = 0; 103 token[l].stat[0].min = MAX_TOKEN_VALUE;
108 while ((field[index + offset] == token[l].delimiter[offset]) &&
109 (offset < token[l].length)) {
110 offset++;
111 }
112 104
113 if (offset == token[l].length) { 105 index = 0;
114 for (offset = 0; offset < token[l].length; offset++) { 106 while ((index < f) && (token[l].subfields < MAX_SUBFIELDS)) {
115 field[index + offset] = (field[index + offset] + 107 unsigned char offset;
116 field[(index + offset + mod_offset) % f]) % 108 offset = 0;
117 (MAX_TOKEN_VALUE + 1); 109 while ((field[index + offset] == token[l].delimiter[offset]) &&
110 (offset < token[l].length)) {
111 offset++;
118 } 112 }
119 index += token[l].length - 1;
120 token[l].subfields++;
121 token[l].stat[token[l].subfields].count = 0;
122 token[l].stat[token[l].subfields].sum = 0;
123 token[l].stat[token[l].subfields].min = MAX_TOKEN_VALUE;
124 }
125 113
126 else { 114 if (offset == token[l].length) {
127 token[l].stat[token[l].subfields].count++; 115 for (offset = 0; offset < token[l].length; offset++) {
128 token[l].stat[token[l].subfields].sum += field[index]; 116 field[index + offset] = (field[index + offset] +
129 if (token[l].stat[token[l].subfields].min > field[index]) 117 field[(index + offset + mod_offset) % f]) %
130 token[l].stat[token[l].subfields].min = field[index]; 118 (MAX_TOKEN_VALUE + 1);
119 }
120 index += token[l].length - 1;
121 token[l].subfields++;
122 token[l].stat[token[l].subfields].count = 0;
123 token[l].stat[token[l].subfields].sum = 0;
124 token[l].stat[token[l].subfields].min = MAX_TOKEN_VALUE;
125 }
126
127 else {
128 token[l].stat[token[l].subfields].count++;
129 token[l].stat[token[l].subfields].sum += field[index];
130 if (token[l].stat[token[l].subfields].min > field[index])
131 token[l].stat[token[l].subfields].min = field[index];
132 }
133 index++;
131 } 134 }
132 index++; 135 token[l].subfields++;
133 } 136 }
134 token[l].subfields++;
135 } 137 }
136
137 STOP_LOOP
138 endTime = time(NULL); 138 endTime = time(NULL);
139 139
140 volatile int sumAll = 0; 140 volatile int sumAll = 0;