Changeset: 55b1b7c5df83 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=55b1b7c5df83 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/mal/pqueue.c monetdb5/modules/mal/pqueue.h monetdb5/modules/mal/pqueue.mal Branch: int128 Log Message:
added int128 / "hge" support in monetdb5/modules/mal/pqueue.* diffs (153 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1869,6 +1869,8 @@ str PQdequeue_dblmax(int *ret, int *bid) str PQdequeue_dblmin(int *ret, int *bid); str PQdequeue_fltmax(int *ret, int *bid); str PQdequeue_fltmin(int *ret, int *bid); +str PQdequeue_hgemax(int *ret, int *bid); +str PQdequeue_hgemin(int *ret, int *bid); str PQdequeue_intmax(int *ret, int *bid); str PQdequeue_intmin(int *ret, int *bid); str PQdequeue_lngmax(int *ret, int *bid); @@ -1887,6 +1889,8 @@ str PQenqueue_dblmax(int *ret, int *bid, str PQenqueue_dblmin(int *ret, int *bid, oid *idx, dbl *el); str PQenqueue_fltmax(int *ret, int *bid, oid *idx, flt *el); str PQenqueue_fltmin(int *ret, int *bid, oid *idx, flt *el); +str PQenqueue_hgemax(int *ret, int *bid, oid *idx, hge *el); +str PQenqueue_hgemin(int *ret, int *bid, oid *idx, hge *el); str PQenqueue_intmax(int *ret, int *bid, oid *idx, int *el); str PQenqueue_intmin(int *ret, int *bid, oid *idx, int *el); str PQenqueue_lngmax(int *ret, int *bid, oid *idx, lng *el); @@ -1906,6 +1910,8 @@ str PQmovedowntop_dblmax(int *ret, int * str PQmovedowntop_dblmin(int *ret, int *bid); str PQmovedowntop_fltmax(int *ret, int *bid); str PQmovedowntop_fltmin(int *ret, int *bid); +str PQmovedowntop_hgemax(int *ret, int *bid); +str PQmovedowntop_hgemin(int *ret, int *bid); str PQmovedowntop_intmax(int *ret, int *bid); str PQmovedowntop_intmin(int *ret, int *bid); str PQmovedowntop_lngmax(int *ret, int *bid); @@ -1924,6 +1930,8 @@ str PQtopn2_dblmax(int *ret, int *aid, i str PQtopn2_dblmin(int *ret, int *aid, int *bid, wrd *N); str PQtopn2_fltmax(int *ret, int *aid, int *bid, wrd *N); str PQtopn2_fltmin(int *ret, int *aid, int *bid, wrd *N); +str PQtopn2_hgemax(int *ret, int *aid, int *bid, wrd *N); +str PQtopn2_hgemin(int *ret, int *aid, int *bid, wrd *N); str PQtopn2_intmax(int *ret, int *aid, int *bid, wrd *N); str PQtopn2_intmin(int *ret, int *aid, int *bid, wrd *N); str PQtopn2_lngmax(int *ret, int *aid, int *bid, wrd *N); @@ -1942,6 +1950,8 @@ str PQtopn_dblmax(int *ret, int *bid, wr str PQtopn_dblmin(int *ret, int *bid, wrd *N); str PQtopn_fltmax(int *ret, int *bid, wrd *N); str PQtopn_fltmin(int *ret, int *bid, wrd *N); +str PQtopn_hgemax(int *ret, int *bid, wrd *N); +str PQtopn_hgemin(int *ret, int *bid, wrd *N); str PQtopn_intmax(int *ret, int *bid, wrd *N); str PQtopn_intmin(int *ret, int *bid, wrd *N); str PQtopn_lngmax(int *ret, int *bid, wrd *N); @@ -1960,6 +1970,8 @@ str PQtopreplace_dblmax(int *ret, int *b str PQtopreplace_dblmin(int *ret, int *bid, oid *idx, dbl *el); str PQtopreplace_fltmax(int *ret, int *bid, oid *idx, flt *el); str PQtopreplace_fltmin(int *ret, int *bid, oid *idx, flt *el); +str PQtopreplace_hgemax(int *ret, int *bid, oid *idx, hge *el); +str PQtopreplace_hgemin(int *ret, int *bid, oid *idx, hge *el); str PQtopreplace_intmax(int *ret, int *bid, oid *idx, int *el); str PQtopreplace_intmin(int *ret, int *bid, oid *idx, int *el); str PQtopreplace_lngmax(int *ret, int *bid, oid *idx, lng *el); @@ -1978,6 +1990,8 @@ str PQutopn2_dblmax(int *ret, int *aid, str PQutopn2_dblmin(int *ret, int *aid, int *bid, wrd *N); str PQutopn2_fltmax(int *ret, int *aid, int *bid, wrd *N); str PQutopn2_fltmin(int *ret, int *aid, int *bid, wrd *N); +str PQutopn2_hgemax(int *ret, int *aid, int *bid, wrd *N); +str PQutopn2_hgemin(int *ret, int *aid, int *bid, wrd *N); str PQutopn2_intmax(int *ret, int *aid, int *bid, wrd *N); str PQutopn2_intmin(int *ret, int *aid, int *bid, wrd *N); str PQutopn2_lngmax(int *ret, int *aid, int *bid, wrd *N); @@ -1996,6 +2010,8 @@ str PQutopn_dblmax(int *ret, int *bid, w str PQutopn_dblmin(int *ret, int *bid, wrd *N); str PQutopn_fltmax(int *ret, int *bid, wrd *N); str PQutopn_fltmin(int *ret, int *bid, wrd *N); +str PQutopn_hgemax(int *ret, int *bid, wrd *N); +str PQutopn_hgemin(int *ret, int *bid, wrd *N); str PQutopn_intmax(int *ret, int *bid, wrd *N); str PQutopn_intmin(int *ret, int *bid, wrd *N); str PQutopn_lngmax(int *ret, int *bid, wrd *N); diff --git a/monetdb5/modules/mal/pqueue.c b/monetdb5/modules/mal/pqueue.c --- a/monetdb5/modules/mal/pqueue.c +++ b/monetdb5/modules/mal/pqueue.c @@ -393,6 +393,10 @@ pqueueimpl_minmax(oid, oidmin, >) pqueueimpl_minmax(oid, oidmax, >) pqueueimpl_minmax(lng, lngmin, <) pqueueimpl_minmax(lng, lngmax, >) +#ifdef HAVE_HGE +pqueueimpl_minmax(hge, hgemin, <) +pqueueimpl_minmax(hge, hgemax, >) +#endif pqueueimpl_minmax(flt, fltmin, <) pqueueimpl_minmax(flt, fltmax, >) pqueueimpl_minmax(dbl, dblmin, <) @@ -1248,6 +1252,9 @@ PQminmax(int) PQminmax(oid) PQminmax(wrd) PQminmax(lng) +#ifdef HAVE_HGE +PQminmax(hge) +#endif PQminmax(flt) PQminmax(dbl) PQimpl2(any, min) diff --git a/monetdb5/modules/mal/pqueue.h b/monetdb5/modules/mal/pqueue.h --- a/monetdb5/modules/mal/pqueue.h +++ b/monetdb5/modules/mal/pqueue.h @@ -154,6 +154,28 @@ pqueue_export str PQutopn_lngmax(int *re pqueue_export str PQtopn2_lngmax(int *ret, int *aid, int *bid, wrd *N); pqueue_export str PQutopn2_lngmax(int *ret, int *aid, int *bid, wrd *N); +#ifdef HAVE_HGE +pqueue_export str PQenqueue_hgemin(int *ret, int *bid, oid *idx, hge *el); +pqueue_export str PQtopreplace_hgemin(int *ret, int *bid, oid *idx, hge *el); +pqueue_export str PQmovedowntop_hgemin(int *ret, int *bid); +pqueue_export str PQdequeue_hgemin(int *ret, int *bid); + +pqueue_export str PQtopn_hgemin(int *ret, int *bid, wrd *N); +pqueue_export str PQutopn_hgemin(int *ret, int *bid, wrd *N); +pqueue_export str PQtopn2_hgemin(int *ret, int *aid, int *bid, wrd *N); +pqueue_export str PQutopn2_hgemin(int *ret, int *aid, int *bid, wrd *N); + +pqueue_export str PQenqueue_hgemax(int *ret, int *bid, oid *idx, hge *el); +pqueue_export str PQtopreplace_hgemax(int *ret, int *bid, oid *idx, hge *el); +pqueue_export str PQmovedowntop_hgemax(int *ret, int *bid); +pqueue_export str PQdequeue_hgemax(int *ret, int *bid); + +pqueue_export str PQtopn_hgemax(int *ret, int *bid, wrd *N); +pqueue_export str PQutopn_hgemax(int *ret, int *bid, wrd *N); +pqueue_export str PQtopn2_hgemax(int *ret, int *aid, int *bid, wrd *N); +pqueue_export str PQutopn2_hgemax(int *ret, int *aid, int *bid, wrd *N); +#endif + pqueue_export str PQenqueue_fltmin(int *ret, int *bid, oid *idx, flt *el); pqueue_export str PQtopreplace_fltmin(int *ret, int *bid, oid *idx, flt *el); pqueue_export str PQmovedowntop_fltmin(int *ret, int *bid); diff --git a/monetdb5/modules/mal/pqueue.mal b/monetdb5/modules/mal/pqueue.mal --- a/monetdb5/modules/mal/pqueue.mal +++ b/monetdb5/modules/mal/pqueue.mal @@ -95,6 +95,18 @@ command dequeue_max(h:bat[:oid,:lng]) ad command topn_max(t:bat[:oid,:lng], n:wrd) :bat[:oid,:oid] address PQtopn_lngmax; command utopn_max(t:bat[:oid,:lng], n:wrd) :bat[:oid,:oid] address PQutopn_lngmax; +command enqueue_min(h:bat[:oid,:hge], id:oid, value:hge) address PQenqueue_hgemin; +command topreplace_min(h:bat[:oid,:hge], id:oid, value:hge) address PQtopreplace_hgemin; +command dequeue_min(h:bat[:oid,:hge]) address PQdequeue_hgemin; +command topn_min(t:bat[:oid,:hge], n:wrd) :bat[:oid,:oid] address PQtopn_hgemin; +command utopn_min(t:bat[:oid,:hge], n:wrd) :bat[:oid,:oid] address PQutopn_hgemin; + +command enqueue_max(h:bat[:oid,:hge], id:oid, value:hge) address PQenqueue_hgemax; +command topreplace_max(h:bat[:oid,:hge], id:oid, value:hge) address PQtopreplace_hgemax; +command dequeue_max(h:bat[:oid,:hge]) address PQdequeue_hgemax; +command topn_max(t:bat[:oid,:hge], n:wrd) :bat[:oid,:oid] address PQtopn_hgemax; +command utopn_max(t:bat[:oid,:hge], n:wrd) :bat[:oid,:oid] address PQutopn_hgemax; + command enqueue_min(h:bat[:oid,:flt], id:oid, value:flt) address PQenqueue_fltmin; command topreplace_min(h:bat[:oid,:flt], id:oid, value:flt) address PQtopreplace_fltmin; command dequeue_min(h:bat[:oid,:flt]) address PQdequeue_fltmin; _______________________________________________ checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
