| 1238 | } |
| 1239 | |
| 1240 | void kprintf::handleReduceSum(char **_src, char **_dst) |
| 1241 | { |
| 1242 | int numCharsWritten = 0; |
| 1243 | char id1[256]; |
| 1244 | char * ptr; |
| 1245 | char *src = *_src; |
| 1246 | char *dst = *_dst; |
| 1247 | |
| 1248 | ptr = mystrtok( src, "(,)"); |
| 1249 | ptr = mystrtok( NULL, "(,)"); // Get first ID |
| 1250 | strcpy( id1, ptr); |
| 1251 | *_src = ptr + strlen(ptr) + 1; |
| 1252 | |
| 1253 | if(vectorWidth > 1) |
| 1254 | { |
| 1255 | if ( s_or_v == SCALAR) |
| 1256 | { |
| 1257 | for( int i = 0 ; i < (vectorWidth - 1); i++) |
| 1258 | { |
| 1259 | numCharsWritten = sprintf(dst,"%s.%s + ", id1, vecIndices[i]); |
| 1260 | dst += numCharsWritten; |
| 1261 | } |
| 1262 | numCharsWritten = sprintf(dst,"%s.%s;\n", id1, vecIndices[ (vectorWidth - 1)]); |
| 1263 | dst += numCharsWritten; |
| 1264 | } |
| 1265 | else |
| 1266 | { |
| 1267 | for( int i = 0 ; i < (vectorWidth- 1); i++) |
| 1268 | { |
| 1269 | numCharsWritten = sprintf(dst,"%s.s%d%d + ", id1,(i*2), (i*2 + 1)); |
| 1270 | dst += numCharsWritten; |
| 1271 | } |
| 1272 | numCharsWritten = sprintf(dst,"%s.s%d%d;\n", id1,((vectorWidth- 1)*2), ((vectorWidth- 1)*2 + 1)); |
| 1273 | dst += numCharsWritten; |
| 1274 | } |
| 1275 | } else { |
| 1276 | numCharsWritten = sprintf(dst,"(%s);\n", id1); |
| 1277 | dst += numCharsWritten; |
| 1278 | } |
| 1279 | |
| 1280 | *_dst = dst; |
| 1281 | } |
| 1282 | |
| 1283 | void kprintf::handleReduceMax(char **_src, char **_dst) |
| 1284 | { |
nothing calls this directly
no outgoing calls
no test coverage detected