Changeset: 25a83e0c9341 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=25a83e0c9341 Modified Files: monetdb5/modules/mal/batcalc.mal monetdb5/modules/mal/batcalc.mal.sh Branch: int128 Log Message:
added int128 / "hge" support in monetdb5/modules/mal/batcalc.mal* re-applying changeset 77c9c3da562c, which now works after the "fix" in changeset 0ed83d6c325b. diffs (truncated from 7625 to 300 lines): diff --git a/monetdb5/modules/mal/batcalc.mal b/monetdb5/modules/mal/batcalc.mal --- a/monetdb5/modules/mal/batcalc.mal +++ b/monetdb5/modules/mal/batcalc.mal @@ -54,6 +54,13 @@ pattern iszero(b:bat[:oid,:lng],s:bat[:o address CMDbatISZERO comment "Unary check for zero over the tail of the bat with candidates list"; +pattern iszero(b:bat[:oid,:hge]) :bat[:oid,:bit] +address CMDbatISZERO +comment "Unary check for zero over the tail of the bat"; +pattern iszero(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:bit] +address CMDbatISZERO +comment "Unary check for zero over the tail of the bat with candidates list"; + pattern iszero(b:bat[:oid,:flt]) :bat[:oid,:bit] address CMDbatISZERO comment "Unary check for zero over the tail of the bat"; @@ -111,6 +118,13 @@ pattern isnil(b:bat[:oid,:lng],s:bat[:oi address CMDbatISNIL comment "Unary check for nil over the tail of the bat with candidates list"; +pattern isnil(b:bat[:oid,:hge]) :bat[:oid,:bit] +address CMDbatISNIL +comment "Unary check for nil over the tail of the bat"; +pattern isnil(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:bit] +address CMDbatISNIL +comment "Unary check for nil over the tail of the bat with candidates list"; + pattern isnil(b:bat[:oid,:flt]) :bat[:oid,:bit] address CMDbatISNIL comment "Unary check for nil over the tail of the bat"; @@ -182,6 +196,13 @@ pattern not(b:bat[:oid,:lng],s:bat[:oid, address CMDbatNOT comment "Unary bitwise not over the tail of the bat with candidates list"; +pattern not(b:bat[:oid,:hge]) :bat[:oid,:hge] +address CMDbatNOT +comment "Unary bitwise not over the tail of the bat"; +pattern not(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatNOT +comment "Unary bitwise not over the tail of the bat with candidates list"; + pattern sign(b:bat[:oid,:bte]) :bat[:oid,:bte] address CMDbatSIGN @@ -218,6 +239,13 @@ pattern sign(b:bat[:oid,:lng],s:bat[:oid address CMDbatSIGN comment "Unary sign (-1,0,1) over the tail of the bat with candidates list"; +pattern sign(b:bat[:oid,:hge]) :bat[:oid,:bte] +address CMDbatSIGN +comment "Unary sign (-1,0,1) over the tail of the bat"; +pattern sign(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:bte] +address CMDbatSIGN +comment "Unary sign (-1,0,1) over the tail of the bat with candidates list"; + pattern sign(b:bat[:oid,:flt]) :bat[:oid,:bte] address CMDbatSIGN comment "Unary sign (-1,0,1) over the tail of the bat"; @@ -268,6 +296,13 @@ pattern abs(b:bat[:oid,:lng],s:bat[:oid, address CMDbatABS comment "Unary abs over the tail of the bat with candidates list"; +pattern abs(b:bat[:oid,:hge]) :bat[:oid,:hge] +address CMDbatABS +comment "Unary abs over the tail of the bat"; +pattern abs(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatABS +comment "Unary abs over the tail of the bat with candidates list"; + pattern abs(b:bat[:oid,:flt]) :bat[:oid,:flt] address CMDbatABS comment "Unary abs over the tail of the bat"; @@ -318,6 +353,13 @@ pattern -(b:bat[:oid,:lng],s:bat[:oid,:o address CMDbatNEG comment "Unary neg over the tail of the bat with candidates list"; +pattern -(b:bat[:oid,:hge]) :bat[:oid,:hge] +address CMDbatNEG +comment "Unary neg over the tail of the bat"; +pattern -(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatNEG +comment "Unary neg over the tail of the bat with candidates list"; + pattern -(b:bat[:oid,:flt]) :bat[:oid,:flt] address CMDbatNEG comment "Unary neg over the tail of the bat"; @@ -368,6 +410,13 @@ pattern ++(b:bat[:oid,:lng],s:bat[:oid,: address CMDbatINCR comment "Unary increment over the tail of the bat with candidates list"; +pattern ++(b:bat[:oid,:hge]) :bat[:oid,:hge] +address CMDbatINCR +comment "Unary increment over the tail of the bat"; +pattern ++(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatINCR +comment "Unary increment over the tail of the bat with candidates list"; + pattern ++(b:bat[:oid,:flt]) :bat[:oid,:flt] address CMDbatINCR comment "Unary increment over the tail of the bat"; @@ -418,6 +467,13 @@ pattern --(b:bat[:oid,:lng],s:bat[:oid,: address CMDbatDECR comment "Unary decrement over the tail of the bat with candidates list"; +pattern --(b:bat[:oid,:hge]) :bat[:oid,:hge] +address CMDbatDECR +comment "Unary decrement over the tail of the bat"; +pattern --(b:bat[:oid,:hge],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatDECR +comment "Unary decrement over the tail of the bat with candidates list"; + pattern --(b:bat[:oid,:flt]) :bat[:oid,:flt] address CMDbatDECR comment "Unary decrement over the tail of the bat"; @@ -490,6 +546,25 @@ pattern +(v:bte,b:bat[:oid,:int],s:bat[: address CMDbatADDenlarge comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:bte],b2:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:bte],b2:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:bte],v:lng) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:bte],v:lng,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:bte,b:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:bte,b:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + pattern +(b1:bat[:oid,:bte],b2:bat[:oid,:flt]) :bat[:oid,:dbl] address CMDbatADDenlarge comment "Return B1 + B2, guarantee no overflow by returning larger type"; @@ -566,6 +641,25 @@ pattern +(v:sht,b:bat[:oid,:int],s:bat[: address CMDbatADDenlarge comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:sht],b2:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:sht],b2:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:sht],v:lng) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:sht],v:lng,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:sht,b:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:sht,b:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + pattern +(b1:bat[:oid,:sht],b2:bat[:oid,:flt]) :bat[:oid,:dbl] address CMDbatADDenlarge comment "Return B1 + B2, guarantee no overflow by returning larger type"; @@ -642,6 +736,25 @@ pattern +(v:int,b:bat[:oid,:int],s:bat[: address CMDbatADDenlarge comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:int],b2:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:int],b2:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:int],v:lng) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:int],v:lng,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:int,b:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:int,b:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + pattern +(b1:bat[:oid,:int],b2:bat[:oid,:flt]) :bat[:oid,:dbl] address CMDbatADDenlarge comment "Return B1 + B2, guarantee no overflow by returning larger type"; @@ -661,6 +774,82 @@ pattern +(v:int,b:bat[:oid,:flt],s:bat[: address CMDbatADDenlarge comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:bte]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:bte],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:bte) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:bte,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:bte]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:bte],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:sht]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:sht],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:sht) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:sht,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:sht]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:sht],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:int]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:int],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:int) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:int,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:int]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:int],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:lng) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:lng],v:lng,s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:lng]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:lng,b:bat[:oid,:lng],s:bat[:oid,:oid]) :bat[:oid,:hge] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + pattern +(b1:bat[:oid,:lng],b2:bat[:oid,:flt]) :bat[:oid,:dbl] address CMDbatADDenlarge comment "Return B1 + B2, guarantee no overflow by returning larger type"; @@ -680,6 +869,25 @@ pattern +(v:lng,b:bat[:oid,:flt],s:bat[: address CMDbatADDenlarge comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:hge],b2:bat[:oid,:flt]) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return B1 + B2, guarantee no overflow by returning larger type"; +pattern +(b1:bat[:oid,:hge],b2:bat[:oid,:flt],s:bat[:oid,:oid]) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return B1 + B2 with candidates list, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:hge],v:flt) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return B + V, guarantee no overflow by returning larger type"; +pattern +(b:bat[:oid,:hge],v:flt,s:bat[:oid,:oid]) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return B + V with candidates list, guarantee no overflow by returning larger type"; +pattern +(v:hge,b:bat[:oid,:flt]) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return V + B, guarantee no overflow by returning larger type"; +pattern +(v:hge,b:bat[:oid,:flt],s:bat[:oid,:oid]) :bat[:oid,:dbl] +address CMDbatADDenlarge +comment "Return V + B with candidates list, guarantee no overflow by returning larger type"; + pattern +(b1:bat[:oid,:flt],b2:bat[:oid,:bte]) :bat[:oid,:dbl] _______________________________________________ checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
