Changeset: fd77ddcea72d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fd77ddcea72d Modified Files: monetdb5/modules/mal/mal_weld.c Branch: mal-weld Log Message:
better formating of the generated Weld code diffs (truncated from 334 to 300 lines): diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c --- a/monetdb5/modules/mal/mal_weld.c +++ b/monetdb5/modules/mal/mal_weld.c @@ -128,14 +128,11 @@ static void dumpProgram(weldState *wstat } fprintf(f, "\n\n\n"); for (i = 0; i < (int)strlen(wstate->program); i++) { - if (wstate->program[i] == ' ' && wstate->program[i + 1] == '\t') { + fputc(wstate->program[i], f); + if (wstate->program[i] != '\t' && wstate->program[i + 1] == '\t') fputc('\n', f); - } else { - fputc(wstate->program[i], f); - } - if (wstate->program[i] == ';') { + if (wstate->program[i] == ';') fputc('\n', f); - } } fclose(f); } @@ -358,20 +355,20 @@ WeldAggrUnary(MalBlkPtr mb, MalStkPtr st str any_1 = getWeldType(getArgType(mb, pci, 0)); char weldStmt[STR_SIZE_INC]; if (sid != -1) { - sprintf(weldStmt, "\ - let v%d = result( \ - for (%s, merger[%s, %s], |b: merger[%s, %s], i: i64, oid: i64| \ - merge(b, lookup(v%d, oid - v%dhseqbase)) \ - ) \ - );", + sprintf(weldStmt, + "let v%d = result(" + " for (%s, merger[%s, %s], |b: merger[%s, %s], i: i64, oid: i64|" + " merge(b, lookup(v%d, oid - v%dhseqbase))" + " )" + ");", ret, getWeldCandList(sid, s), any_1, op, any_1, op, bid, bid); } else { - sprintf(weldStmt, "\ - let v%d = result( \ - for (v%d, merger[%s, %s], |b: merger[%s, %s], i: i64, x: %s| \ - merge(b, x) \ - ) \ - );", + sprintf(weldStmt, + "let v%d = result(" + " for (v%d, merger[%s, %s], |b: merger[%s, %s], i: i64, x: %s|" + " merge(b, x)" + " )" + ");", ret, bid, any_1, op, any_1, op, any_1); } appendWeldStmt(wstate, weldStmt); @@ -397,19 +394,19 @@ WeldAlgebraProjection(Client cntxt, MalB int right = getArg(pci, 2); /* bat[:any_1] */ weldState *wstate = *getArgReference_ptr(stk, pci, 3); /* has value */ char weldStmt[STR_SIZE_INC]; - sprintf(weldStmt, "\ - let v%d = result( \ - for (%s, appender[?], |b, i, oid| \ - merge(b, lookup(v%d, oid - v%dhseqbase)) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (%s, appender[?], |b, i, oid|" + " merge(b, lookup(v%d, oid - v%dhseqbase))" + " )" + ");" + "let v%dhseqbase = 0L;", ret, getWeldCandList(left, leftBat), right, right, ret); if (getBatType(getArgType(mb, pci, 0)) == TYPE_str) { /* any_1 = str */ - sprintf(weldStmt + strlen(weldStmt), "\ - let v%dstr = v%dstr;\ - let v%dstroffset = v%dstroffset;", + sprintf(weldStmt + strlen(weldStmt), + "let v%dstr = v%dstr;" + "let v%dstroffset = v%dstroffset;", ret, right, ret, right); } appendWeldStmt(wstate, weldStmt); @@ -469,16 +466,16 @@ WeldAlgebraSelect2(Client cntxt, MalBlkP } sprintf(x, "lookup(v%d, oid - v%dhseqbase)", bid, bid); - sprintf(weldStmt, "\ - let v%d = result( \ - for (%s, appender[i64], |b: appender[i64], i: i64, oid: i64| \ - if (v%d %s %s %s v%d %s %s, \ - merge(b, oid), \ - b \ - ) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (%s, appender[i64], |b: appender[i64], i: i64, oid: i64|" + " if (v%d %s %s %s v%d %s %s," + " merge(b, oid)," + " b" + " )" + " )" + ");" + "let v%dhseqbase = 0L;", ret, getWeldCandList(sid, s), low, lCmp, x, op, high, rCmp, x, ret); appendWeldStmt(wstate, weldStmt); return MAL_SUCCEED; @@ -508,16 +505,16 @@ WeldAlgebraThetaselect2(Client cntxt, Ma str op = *getArgReference_str(stk, pci, 4); /* has value */ weldState *wstate = *getArgReference_ptr(stk, pci, 5); /* has value */ char weldStmt[STR_SIZE_INC]; - sprintf(weldStmt, "\ - let v%d = result( \ - for (%s, appender[i64], |b: appender[i64], i: i64, oid: i64| \ - if (lookup(v%d, oid - v%dhseqbase) %s v%d, \ - merge(b, oid), \ - b \ - ) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (%s, appender[i64], |b: appender[i64], i: i64, oid: i64|" + " if (lookup(v%d, oid - v%dhseqbase) %s v%d," + " merge(b, oid)," + " b" + " )" + " )" + ");" + "let v%dhseqbase = 0L;", ret, getWeldCandList(sid, s), bid, bid, op, val, ret); appendWeldStmt(wstate, weldStmt); return MAL_SUCCEED; @@ -564,41 +561,41 @@ WeldBatcalcBinary(MalBlkPtr mb, MalStkPt sprintf(rightStmt, "v%d", right); } - sprintf(weldStmt, "\ - let v%d = result( \ - for (%s, appender[%s], |b, i, oid| \ - merge(b, %s %s %s) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (%s, appender[%s], |b, i, oid|" + " merge(b, %s %s %s)" + " )" + ");" + "let v%dhseqbase = 0L;", ret, getWeldCandList(sid, s), any_1, leftStmt, op, rightStmt, ret); } else { if (isaBatType(leftType) && isaBatType(rightType)) { - sprintf(weldStmt, "\ - let v%d = result( \ - for (zip(v%d, v%d), appender[%s], |b , i, x| \ - merge(b, x.$0 %s x.$1) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (zip(v%d, v%d), appender[%s], |b , i, x|" + " merge(b, x.$0 %s x.$1)" + " )" + ");" + "let v%dhseqbase = 0L;", ret, left, right, any_1, op, ret); } else if (isaBatType(leftType)) { - sprintf(weldStmt, "\ - let v%d = result( \ - for (v%d, appender[%s], |b, i, x| \ - merge(b, x %s v%d) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (v%d, appender[%s], |b, i, x|" + " merge(b, x %s v%d)" + " )" + ");" + "let v%dhseqbase = 0L;", ret, left, any_1, op, right, ret); } else if (isaBatType(rightType)) { - sprintf(weldStmt, "\ - let v%d = result( \ - for (v%d, appender[%s], |b, i, x| \ - merge(b, v%d %s x) \ - ) \ - ); \ - let v%dhseqbase = 0L;", + sprintf(weldStmt, + "let v%d = result(" + " for (v%d, appender[%s], |b, i, x|" + " merge(b, v%d %s x)" + " )" + ");" + "let v%dhseqbase = 0L;", ret, right, any_1, left, op, ret); } } @@ -691,37 +688,37 @@ WeldGroup(Client cntxt, MalBlkPtr mb, Ma } char weldStmt[STR_SIZE_INC * 2]; - sprintf(weldStmt, "\ - let groupHash = result( \ - for(zip(%s), dictmerger[%s, i64, min], |b, i, n| \ - merge(b, {%s, i}) \ - ) \ - ); \ - let groupHashVec = tovec(groupHash); \ - let groupIdsDict = result( \ - for(groupHashVec, dictmerger[%s, i64, min], |b, i, n| \ - merge(b, {n.$0, i}) \ - ) \ - ); \ - let empty = result( \ - for(rangeiter(0L, len(groupHashVec), 1L), appender[i64], |b, i, n| \ - merge(b, 0L) \ - ) \ - ); \ - let idsAndCounts = for(zip(%s), {appender[i64], vecmerger[i64, +](empty)}, |b, i, n| \ - let groupId = lookup(groupIdsDict, %s); \ - {merge(b.$0, groupId), merge(b.$1, {groupId, 1L})} \ - ); \ - let v%d = result(idsAndCounts.$0); \ - let v%dhseqbase = 0; \ - let v%d = result(idsAndCounts.$1); \ - let v%dhseqbase = 0; \ - let v%d = result( \ - for(groupHashVec, vecmerger[i64, +](empty), |b, i, n| \ - merge(b, {i, lookup(groupHash, n.$0)}) \ - ) \ - ); \ - let v%dhseqbase = 0;", + sprintf(weldStmt, + "let groupHash = result(" + " for(zip(%s), dictmerger[%s, i64, min], |b, i, n|" + " merge(b, {%s, i})" + " )" + ");" + "let groupHashVec = tovec(groupHash);" + "let groupIdsDict = result(" + " for(groupHashVec, dictmerger[%s, i64, min], |b, i, n|" + " merge(b, {n.$0, i})" + " )" + ");" + "let empty = result(" + " for(rangeiter(0L, len(groupHashVec), 1L), appender[i64], |b, i, n|" + " merge(b, 0L)" + " )" + ");" + "let idsAndCounts = for(zip(%s), {appender[i64], vecmerger[i64, +](empty)}, |b, i, n|" + " let groupId = lookup(groupIdsDict, %s);" + " {merge(b.$0, groupId), merge(b.$1, {groupId, 1L})}" + ");" + "let v%d = result(idsAndCounts.$0);" + "let v%dhseqbase = 0;" + "let v%d = result(idsAndCounts.$1);" + "let v%dhseqbase = 0;" + "let v%d = result(" + " for(groupHashVec, vecmerger[i64, +](empty), |b, i, n|" + " merge(b, {i, lookup(groupHash, n.$0)})" + " )" + ");" + "let v%dhseqbase = 0;", zipStmt, dictTypeStmt, dictKeyStmt, dictTypeStmt, zipStmt, dictKeyStmt, groups, groups, histo, histo, extents, extents); appendWeldStmt(wstate, weldStmt); @@ -756,34 +753,34 @@ WeldAggrSub(MalBlkPtr mb, MalStkPtr stk, sprintf(identValue, "%sMIN", getWeldType(retType)); char weldStmt[STR_SIZE_INC]; - sprintf(weldStmt, " \ - let empty = result( \ - for(rangeiter(0L, len(v%d), 1L), appender[%s], |b, i, x| \ - merge(b, %s) \ - ) \ - );", + sprintf(weldStmt, + "let empty = result(" + " for(rangeiter(0L, len(v%d), 1L), appender[%s], |b, i, x|" + " merge(b, %s)" + " )" + ");", eid, getWeldType(retType), identValue); if (isaBatType(sidType)) { bat s = *getArgReference_bat(stk, pci, 4); /* might have value */ - sprintf(weldStmt + strlen(weldStmt), " \ - let v%d = result( \ - for(%s, vecmerger[%s, %s](empty), |b, i, oid| \ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list