Changeset: 2681fb5fdc84 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2681fb5fdc84
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/modules/mal/array.mx
Branch: SciQL-2
Log Message:

ARRAYtiles*(): removed further redundancy from Mx macro definition


diffs (truncated from 341 to 300 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
@@ -867,36 +867,36 @@ str ARRAYseries_int(int *ret, int *start
 str ARRAYseries_lng(int *ret, lng *start, lng *step, lng *stop, int *grp, int 
*series);
 str ARRAYseries_sht(int *ret, sht *start, sht *step, sht *stop, int *grp, int 
*series);
 str ARRAYslice(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-str ARRAYtilesAvg_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesAvg_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesAvg_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesAvg_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesAvg_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesAvg_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesCnt_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMax_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesMin_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ARRAYtilesSum_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYtiles_avg_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_avg_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_avg_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_avg_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_avg_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_avg_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_cnt_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_max_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_min_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str ARRAYtiles_sum_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 str AUTHaddUser(oid *ret, Client *c, str *user, str *pass);
 str AUTHchangePassword(Client *c, str *oldpass, str *passwd);
 str AUTHchangeUsername(Client *c, str *olduser, str *newuser);
diff --git a/monetdb5/modules/mal/array.mx b/monetdb5/modules/mal/array.mx
--- a/monetdb5/modules/mal/array.mx
+++ b/monetdb5/modules/mal/array.mx
@@ -82,54 +82,54 @@ comment "Compute the OIDs of all cells s
 module array;
 
 pattern sum(val:@1, any...):lng
-address ARRAYtilesSum_@1
+address ARRAYtiles_sum_@1
 comment "Construct the sum over all tiles";
 
 pattern sum(val:@1, any...):dbl
-address ARRAYtilesSum_@1
+address ARRAYtiles_sum_@1
 comment "Construct the sum over all tiles";
 
 pattern avg(val:@1, any...):dbl
-address ARRAYtilesAvg_@1
+address ARRAYtiles_avg_@1
 comment "Construct the average over all tiles";
 
 pattern min(val:@1, any...):@1
-address ARRAYtilesMin_@1
+address ARRAYtiles_min_@1
 comment "Construct the minimum over all tiles";
 
 pattern max(val:@1, any...):@1
-address ARRAYtilesMax_@1
+address ARRAYtiles_max_@1
 comment "Construct the maximum over all tiles";
 
 pattern cnt(val:@1, any...):lng
-address ARRAYtilesCnt_@1
+address ARRAYtiles_cnt_@1
 comment "Construct the count over all tiles";
 
 module batarray;
 
 # The BAT version of the AGGR functions over array tiles
 pattern sum(val:bat[:oid,:@1], any...):bat[:oid,:lng]
-address ARRAYtilesSum_@1
+address ARRAYtiles_sum_@1
 comment "Construct the sum over all tiles";
 
 pattern sum(val:bat[:oid,:@1], any...):bat[:oid,:dbl]
-address ARRAYtilesSum_@1
+address ARRAYtiles_sum_@1
 comment "Construct the sum over all tiles";
 
 pattern avg(val:bat[:oid,:@1], any...):bat[:oid,:dbl]
-address ARRAYtilesAvg_@1
+address ARRAYtiles_avg_@1
 comment "Construct the average over all tiles";
 
 pattern min(val:bat[:oid,:@1], any...):bat[:oid,:@1]
-address ARRAYtilesMin_@1
+address ARRAYtiles_min_@1
 comment "Construct the minimum over all tiles";
 
 pattern max(val:bat[:oid,:@1], any...):bat[:oid,:@1]
-address ARRAYtilesMax_@1
+address ARRAYtiles_max_@1
 comment "Construct the maximum over all tiles";
 
 pattern cnt(val:bat[:oid,:@1], any...):bat[:oid,:lng]
-address ARRAYtilesCnt_@1
+address ARRAYtiles_cnt_@1
 comment "Construct the count over all tiles";
 @
 @mal
@@ -170,11 +170,11 @@ array_export str ARRAYslice(Client cntxt
 
 @= array_defs
 array_export str ARRAYseries_@1(int *ret, @1 *start, @1 *step, @1 *stop, int 
*grp, int *series);
-array_export str ARRAYtilesSum_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-array_export str ARRAYtilesAvg_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-array_export str ARRAYtilesMin_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-array_export str ARRAYtilesMax_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-array_export str ARRAYtilesCnt_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+array_export str ARRAYtiles_sum_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+array_export str ARRAYtiles_avg_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+array_export str ARRAYtiles_min_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+array_export str ARRAYtiles_max_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+array_export str ARRAYtiles_cnt_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 @h
 @:array_defs(bte)@
 @:array_defs(sht)@
@@ -547,7 +547,7 @@ ARRAYfiller(Client cntxt, MalBlkPtr mb, 
  *   dim_n:BAT,tile_member_offset_dim_n:BAT,size_dim_n)
  */
 str
-ARRAYtiles@4_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+ARRAYtiles_@4_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *bVal = NULL, *bRes = NULL, **bDims = NULL, **bOffsets = NULL;
        int *ret = (int*) getArgReference(stk,pci,0), i = 0, ndims = 0;
@@ -556,7 +556,7 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        @3 *bResT = NULL;
        int **bDimsT = NULL, **bOffsetsT = NULL;
        BUN p, r, arrcnt = 0, offcnt = 0, cnt = 0;
-       @2 @6;
+       @2 @5;
        /* FIXME: this code only deal with INT dimensions */
        int cidx = 0, *dMin = NULL, *dMax = NULL, *dSize = NULL;
        oid arrbase = 0, offbase = 0, vid = 0, mul = 0;
@@ -565,7 +565,7 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        (void) mb;
 
        if ( (pci->argc - pci->retc - 1) % 3 != 0)
-               throw(MAL, "array.@5", "Unbalanced argument sets");
+               throw(MAL, "array.@4", "Unbalanced argument sets");
 
        ndims = (pci->argc - pci->retc - 1) / 3;
        bDims = (BAT**) GDKzalloc(sizeof(BAT*) * ndims);
@@ -577,29 +577,29 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        dSize = (int*) GDKzalloc(sizeof(int) * ndims);
        if (!bDims || !bDimsT || !bOffsets || !bOffsetsT || !dMin || !dMax || 
!dSize) {
                AGGR_CLEANUP();
-               throw(MAL, "array.@5", MAL_MALLOC_FAIL);
+               throw(MAL, "array.@4", MAL_MALLOC_FAIL);
        }
        if (!(bVal = BATdescriptor(*(int*)getArgReference(stk,pci,1)))) {
                AGGR_CLEANUP();
-               throw(MAL, "array.@5", RUNTIME_OBJECT_MISSING);
+               throw(MAL, "array.@4", RUNTIME_OBJECT_MISSING);
        }
        for (i = 0; i < ndims; i++) {
                bDims[i] = BATdescriptor(*(int*)getArgReference(stk,pci,2+i*3));
                bOffsets[i] = 
BATdescriptor(*(int*)getArgReference(stk,pci,2+i*3+1));
                if (!bDims[i] || !bOffsets[i]) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", RUNTIME_OBJECT_MISSING);
+                       throw(MAL, "array.@4", RUNTIME_OBJECT_MISSING);
                }
                dSize[i] = *(int*)getArgReference(stk,pci,2+i*3+2);
        }
        /* type check the shapes, prepare iterators, and compute the min/max of 
the dimensions */
        if (!BAThdense(bVal)) {
                AGGR_CLEANUP();
-               throw(MAL, "array.@5", "head of value BAT must be dense");
+               throw(MAL, "array.@4", "head of value BAT must be dense");
        }
        if (bVal->ttype != TYPE_@1) {
                AGGR_CLEANUP();
-               throw(MAL, "array.@5", "tail of value BAT must be of type @1");
+               throw(MAL, "array.@4", "tail of value BAT must be of type @1");
        }
        arrcnt = BATcount(bVal);
        arrbase = bVal->hseqbase;
@@ -608,23 +608,23 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        for (i = 0; i < ndims; i++) {
                if (!BAThdense(bDims[i])) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", "head of all dimension BATs must 
be dense");
+                       throw(MAL, "array.@4", "head of all dimension BATs must 
be dense");
                }
                if (!BAThdense(bOffsets[i])) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", "head of all offset BATs must be 
dense");
+                       throw(MAL, "array.@4", "head of all offset BATs must be 
dense");
                }
                if (bDims[i]->hseqbase != arrbase || BATcount(bDims[i]) != 
arrcnt) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", "head of all dimension BATs must 
be aligned with head of value BAT");
+                       throw(MAL, "array.@4", "head of all dimension BATs must 
be aligned with head of value BAT");
                }
                if (bOffsets[i]->hseqbase != offbase || BATcount(bOffsets[i]) 
!= offcnt) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", "heads of all offset BATs must 
be aligned");
+                       throw(MAL, "array.@4", "heads of all offset BATs must 
be aligned");
                }
                if (bDims[i]->ttype != TYPE_int || bDims[i]->ttype != 
bOffsets[i]->ttype) {
                        AGGR_CLEANUP();
-                       throw(MAL, "array.@5", SEMANTIC_TYPE_MISMATCH);
+                       throw(MAL, "array.@4", SEMANTIC_TYPE_MISMATCH);
                }
                BATmin(bDims[i], &(dMin[i]));
                BATmax(bDims[i], &(dMax[i]));
@@ -643,7 +643,7 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        bResT = (@3*) Tloc(bRes, BUNfirst(bRes));
        for (p = 0 ; p < arrcnt ; p++) {
                cnt = 0;
-               @6;
+               @5;
                /* loop over all sets of offsets */
                for (r = 0; r < offcnt ; r++) {
                        vid = 0; /* index into bVal for the value of a 
qualified tile member */
@@ -671,12 +671,12 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
                        if (!skip) {
                                elm = bValT[vid];
                                if (elm != @1_nil) {
-                                       @7;
+                                       @6;
                                        cnt++;
                                }
                        }
                }
-               bResT[p] = (cnt ? @8 : @3_nil);
+               bResT[p] = (cnt ? @7 : @3_nil);
                nils |= !cnt;
        }
        AGGR_CLEANUP();
@@ -695,38 +695,38 @@ ARRAYtiles@4_@1(Client cntxt, MalBlkPtr 
        return MAL_SUCCEED;
 }
 @c
-@:tilesAggr(bte,lng,lng,Sum,sum, sum = 0, sum += elm, sum )@
-@:tilesAggr(sht,lng,lng,Sum,sum, sum = 0, sum += elm, sum )@
-@:tilesAggr(int,lng,lng,Sum,sum, sum = 0, sum += elm, sum )@
-@:tilesAggr(lng,lng,lng,Sum,sum, sum = 0, sum += elm, sum )@
-@:tilesAggr(flt,dbl,dbl,Sum,sum, sum = 0, sum += elm, sum )@
-@:tilesAggr(dbl,dbl,dbl,Sum,sum, sum = 0, sum += elm, sum )@
+@:tilesAggr(bte,lng,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
+@:tilesAggr(sht,lng,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
+@:tilesAggr(int,lng,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
+@:tilesAggr(lng,lng,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
+@:tilesAggr(flt,dbl,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
+@:tilesAggr(dbl,dbl,lng,cnt, sum = 0, sum += elm, (lng)cnt )@
 
-@:tilesAggr(bte,lng,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
-@:tilesAggr(sht,lng,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
-@:tilesAggr(int,lng,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
-@:tilesAggr(lng,lng,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
-@:tilesAggr(flt,dbl,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
-@:tilesAggr(dbl,dbl,dbl,Avg,avg, sum = 0, sum += elm, (dbl)sum / (dbl)cnt )@
+@:tilesAggr(bte,lng,lng,sum, sum = 0, sum += elm, sum )@
+@:tilesAggr(sht,lng,lng,sum, sum = 0, sum += elm, sum )@
+@:tilesAggr(int,lng,lng,sum, sum = 0, sum += elm, sum )@
+@:tilesAggr(lng,lng,lng,sum, sum = 0, sum += elm, sum )@
+@:tilesAggr(flt,dbl,dbl,sum, sum = 0, sum += elm, sum )@
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to