Changeset: 0b8c5ab42144 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0b8c5ab42144 Modified Files: monetdb5/modules/mal/mal_weld.c monetdb5/modules/mal/mal_weld.h monetdb5/modules/mal/mal_weld.mal monetdb5/modules/mal/mal_weld.mal.sh monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_weld.c Branch: mal-weld Log Message:
weld impl for batcalc.+ and batcalc.- diffs (truncated from 1062 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 @@ -511,6 +511,20 @@ WeldBatcalcBinary(MalBlkPtr mb, MalStkPt } str +WeldBatcalcADDsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +{ + (void) cntxt; + return WeldBatcalcBinary(mb, stk, pci, "+", "weld.batcalcadd"); +} + +str +WeldBatcalcSUBsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +{ + (void) cntxt; + return WeldBatcalcBinary(mb, stk, pci, "-", "weld.batcalcsub"); +} + +str WeldBatcalcMULsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { (void) cntxt; diff --git a/monetdb5/modules/mal/mal_weld.h b/monetdb5/modules/mal/mal_weld.h --- a/monetdb5/modules/mal/mal_weld.h +++ b/monetdb5/modules/mal/mal_weld.h @@ -24,6 +24,8 @@ mal_export str WeldAlgebraSelect1(Client mal_export str WeldAlgebraSelect2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); mal_export str WeldAlgebraThetaselect1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); mal_export str WeldAlgebraThetaselect2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); +mal_export str WeldBatcalcADDsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); +mal_export str WeldBatcalcSUBsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); mal_export str WeldBatcalcMULsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); mal_export str WeldLanguagePass(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/monetdb5/modules/mal/mal_weld.mal b/monetdb5/modules/mal/mal_weld.mal --- a/monetdb5/modules/mal/mal_weld.mal +++ b/monetdb5/modules/mal/mal_weld.mal @@ -72,6 +72,956 @@ pattern aggrsum(b:bat[:dbl], s:bat[:oid] address WeldAggrSum comment "aggr.sum"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:bte], wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:bte], s:bat[:oid], wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:bte], v:bte, wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:bte], v:bte, s:bat[:oid], wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:bte, b:bat[:bte], wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:bte, b:bat[:bte], s:bat[:oid], wstate:ptr):bat[:bte] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:bte], b2:bat[:int], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:int], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:bte], v:int, wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:bte], v:int, s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:bte, b:bat[:int], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:bte, b:bat[:int], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:bte], b2:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:bte], v:lng, wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:bte], v:lng, s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:bte, b:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:bte, b:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:bte], b2:bat[:flt], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:flt], s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:bte], v:flt, wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:bte], v:flt, s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:bte, b:bat[:flt], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:bte, b:bat[:flt], s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:bte], b2:bat[:dbl], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:bte], b2:bat[:dbl], s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:bte], v:dbl, wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:bte], v:dbl, s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:bte, b:bat[:dbl], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:bte, b:bat[:dbl], s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:int], b2:bat[:bte], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:int], b2:bat[:bte], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:int], v:bte, wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:int], v:bte, s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:int, b:bat[:bte], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:int, b:bat[:bte], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:int], b2:bat[:int], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:int], b2:bat[:int], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:int], v:int, wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:int], v:int, s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:int, b:bat[:int], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:int, b:bat[:int], s:bat[:oid], wstate:ptr):bat[:int] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:int], b2:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:int], b2:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:int], v:lng, wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:int], v:lng, s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:int, b:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:int, b:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:int], b2:bat[:flt], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:int], b2:bat[:flt], s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:int], v:flt, wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:int], v:flt, s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:int, b:bat[:flt], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:int, b:bat[:flt], s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:int], b2:bat[:dbl], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:int], b2:bat[:dbl], s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:int], v:dbl, wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:int], v:dbl, s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:int, b:bat[:dbl], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:int, b:bat[:dbl], s:bat[:oid], wstate:ptr):bat[:dbl] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:lng], b2:bat[:bte], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:lng], b2:bat[:bte], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:lng], v:bte, wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:lng], v:bte, s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:lng, b:bat[:bte], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:lng, b:bat[:bte], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:lng], b2:bat[:int], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:lng], b2:bat[:int], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:lng], v:int, wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:lng], v:int, s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:lng, b:bat[:int], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:lng, b:bat[:int], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:lng], b2:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:lng], b2:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:lng], v:lng, wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:lng], v:lng, s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(v:lng, b:bat[:lng], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(v:lng, b:bat[:lng], s:bat[:oid], wstate:ptr):bat[:lng] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; + +pattern batcalcadd(b1:bat[:lng], b2:bat[:flt], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b1:bat[:lng], b2:bat[:flt], s:bat[:oid], wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd with candidates list"; +pattern batcalcadd(b:bat[:lng], v:flt, wstate:ptr):bat[:flt] +address WeldBatcalcADDsignal +comment "batcalcadd"; +pattern batcalcadd(b:bat[:lng], v:flt, s:bat[:oid], wstate:ptr):bat[:flt] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list