diff options
Diffstat (limited to 'dis/Field/field.c')
-rw-r--r-- | dis/Field/field.c | 78 |
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; |