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

Reply via email to