Changeset: af7d73d614b9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af7d73d614b9 Modified Files: gdk/gdk_analytic_func.c Branch: Jun2020 Log Message:
Cleaning my own mess. Use ATOMbasetype macro to know the internal storage of a type. Time types now use the faster route on the window functions implementations. Sorry people diffs (111 lines): diff --git a/gdk/gdk_analytic_func.c b/gdk/gdk_analytic_func.c --- a/gdk/gdk_analytic_func.c +++ b/gdk/gdk_analytic_func.c @@ -66,10 +66,7 @@ GDKanalyticaldiff(BAT *r, BAT *b, BAT *p BUN i, cnt = BATcount(b); bit *restrict rb = (bit *) Tloc(r, 0), *restrict np = p ? (bit *) Tloc(p, 0) : NULL; - switch (tpe) { - case TYPE_bit: - ANALYTICAL_DIFF_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_DIFF_IMP(bte); break; @@ -299,10 +296,7 @@ GDKanalyticalfirst(BAT *r, BAT *b, BAT * start = (lng *) Tloc(s, 0); end = (lng *) Tloc(e, 0); - switch (tpe) { - case TYPE_bit: - ANALYTICAL_FIRST_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_FIRST_IMP(bte); break; @@ -371,10 +365,7 @@ GDKanalyticallast(BAT *r, BAT *b, BAT *s start = (lng *) Tloc(s, 0); end = (lng *) Tloc(e, 0); - switch (tpe) { - case TYPE_bit: - ANALYTICAL_LAST_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_LAST_IMP(bte); break; @@ -543,10 +534,7 @@ GDKanalyticalnthvalue(BAT *r, BAT *b, BA default: goto nosupport; } - switch (tp1) { - case TYPE_bit: - ANALYTICAL_NTHVALUE_IMP_SINGLE_FIXED(bit); - break; + switch (ATOMbasetype(tp1)) { case TYPE_bte: ANALYTICAL_NTHVALUE_IMP_SINGLE_FIXED(bte); break; @@ -589,10 +577,7 @@ GDKanalyticalnthvalue(BAT *r, BAT *b, BA } } } else { - switch (tp1) { - case TYPE_bit: - ANALYTICAL_NTHVALUE_CALC_FIXED(bit); - break; + switch (ATOMbasetype(tp1)) { case TYPE_bte: ANALYTICAL_NTHVALUE_CALC_FIXED(bte); break; @@ -721,10 +706,7 @@ GDKanalyticallag(BAT *r, BAT *b, BAT *p, assert(default_value); - switch (tpe) { - case TYPE_bit: - ANALYTICAL_LAG_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_LAG_IMP(bte); break; @@ -864,10 +846,7 @@ GDKanalyticallead(BAT *r, BAT *b, BAT *p assert(default_value); - switch (tpe) { - case TYPE_bit: - ANALYTICAL_LEAD_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_LEAD_IMP(bte); break; @@ -972,10 +951,7 @@ GDKanalytical##OP(BAT *r, BAT *b, BAT *s start = (lng*)Tloc(s, 0); \ end = (lng*)Tloc(e, 0); \ \ - switch (tpe) { \ - case TYPE_bit: \ - ANALYTICAL_MIN_MAX_CALC(bit, IMP); \ - break; \ + switch (ATOMbasetype(tpe)) { \ case TYPE_bte: \ ANALYTICAL_MIN_MAX_CALC(bte, IMP); \ break; \ @@ -1068,10 +1044,7 @@ GDKanalyticalcount(BAT *r, BAT *b, BAT * for (; i < cnt; i++, rb++) *rb = (end[i] > start[i]) ? (end[i] - start[i]) : 0; } else { - switch (tpe) { - case TYPE_bit: - ANALYTICAL_COUNT_NO_NIL_FIXED_SIZE_IMP(bit); - break; + switch (ATOMbasetype(tpe)) { case TYPE_bte: ANALYTICAL_COUNT_NO_NIL_FIXED_SIZE_IMP(bte); break; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list