Changeset: e05c56f907c2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e05c56f907c2
Modified Files:
        monetdb5/modules/mal/pp_hash.c
        monetdb5/modules/mal/pp_sort.c
Branch: pp_hashjoin
Log Message:

more macros with do/while


diffs (154 lines):

diff --git a/monetdb5/modules/mal/pp_hash.c b/monetdb5/modules/mal/pp_hash.c
--- a/monetdb5/modules/mal/pp_hash.c
+++ b/monetdb5/modules/mal/pp_hash.c
@@ -3345,14 +3345,14 @@ OAHASHnth_slice(Client ctx, bat *slice, 
                T *v = Tloc(i, 0); \
                for (BUN j = 0; j<cnt; j++) \
                        h[j] = _hash_##T((T)v[j]); \
-       } while (0);
+       } while (0)
 
 #define hashloopf(T, BT) \
        do { \
                T *v = Tloc(i, 0); \
                for (BUN j = 0; j<cnt; j++) \
                        h[j] = _hash_##T(*(BT*)(v+j)); \
-       } while (0);
+       } while (0)
 
 static str
 OAHASHhash(Client cntxt, MalBlkPtr m, MalStkPtr stk, InstrPtr p)
diff --git a/monetdb5/modules/mal/pp_sort.c b/monetdb5/modules/mal/pp_sort.c
--- a/monetdb5/modules/mal/pp_sort.c
+++ b/monetdb5/modules/mal/pp_sort.c
@@ -446,69 +446,72 @@ PPmerge(Client cntxt, MalBlkPtr mb, MalS
        }
 }
 
-#define zzl_vvproject(T, res, zzl, lcol, rcol) { \
-       oid *o = (oid*)Tloc(res, 0); \
-       oid l = lcol->tseqbase; \
-       oid r = rcol->tseqbase; \
-       oid v = side?r:l; \
-       BUN p = side?rp:lp; \
-       for (BUN k = 0; k<sz; k++) { \
-               int nr = z[k]; \
-               for (int j = 0; j<nr; j++, p++, op++) \
-                       o[op] = v+p; \
-               if (side) { \
-                       rp = p; \
-                       p = lp; \
-               } else { \
-                       lp = p; \
-                       p = rp; \
+#define zzl_vvproject(T, res, zzl, lcol, rcol) \
+       do { \
+               oid *o = (oid*)Tloc(res, 0); \
+               oid l = lcol->tseqbase; \
+               oid r = rcol->tseqbase; \
+               oid v = side?r:l; \
+               BUN p = side?rp:lp; \
+               for (BUN k = 0; k<sz; k++) { \
+                       int nr = z[k]; \
+                       for (int j = 0; j<nr; j++, p++, op++) \
+                               o[op] = v+p; \
+                       if (side) { \
+                               rp = p; \
+                               p = lp; \
+                       } else { \
+                               lp = p; \
+                               p = rp; \
+                       } \
+                       side = !side; \
+                       v = side?r:l; \
                } \
-               side = !side; \
-               v = side?r:l; \
-       } \
-}
+       } while (0)
 
-#define zzl_vproject(T, res, zzl, lcol, rcol) { \
-       oid *o = (oid*)Tloc(res, 0); \
-       oid l = lcol->tseqbase; \
-       oid *r = Tloc(rcol, 0); \
-       BUN p = side?rp:lp; \
-       for (BUN k = 0; k<sz; k++) { \
-               int nr = z[k]; \
-               for (int j = 0; j<nr; j++, p++, op++) \
-                       o[op] = side?r[p]:l+p; \
-               if (side) { \
-                       rp = p; \
-                       p = lp; \
-               } else { \
-                       lp = p; \
-                       p = rp; \
+#define zzl_vproject(T, res, zzl, lcol, rcol) \
+       do { \
+               oid *o = (oid*)Tloc(res, 0); \
+               oid l = lcol->tseqbase; \
+               oid *r = Tloc(rcol, 0); \
+               BUN p = side?rp:lp; \
+               for (BUN k = 0; k<sz; k++) { \
+                       int nr = z[k]; \
+                       for (int j = 0; j<nr; j++, p++, op++) \
+                               o[op] = side?r[p]:l+p; \
+                       if (side) { \
+                               rp = p; \
+                               p = lp; \
+                       } else { \
+                               lp = p; \
+                               p = rp; \
+                       } \
+                       side = !side; \
                } \
-               side = !side; \
-       } \
-}
+       } while (0)
 
-#define zzl_project(T, res, zzl, lcol, rcol) { \
-       T *o = Tloc(res, 0); \
-       T *l = Tloc(lcol, 0); \
-       T *r = Tloc(rcol, 0); \
-       T *v = side?r:l; \
-       BUN p = side?rp:lp; \
-       for (BUN k = 0; k<sz; k++) { \
-               int nr = z[k]; \
-               for (int j = 0; j<nr; j++, p++, op++) \
-                       o[op] = v[p]; \
-               if (side) { \
-                       rp = p; \
-                       p = lp; \
-               } else { \
-                       lp = p; \
-                       p = rp; \
+#define zzl_project(T, res, zzl, lcol, rcol) \
+       do { \
+               T *o = Tloc(res, 0); \
+               T *l = Tloc(lcol, 0); \
+               T *r = Tloc(rcol, 0); \
+               T *v = side?r:l; \
+               BUN p = side?rp:lp; \
+               for (BUN k = 0; k<sz; k++) { \
+                       int nr = z[k]; \
+                       for (int j = 0; j<nr; j++, p++, op++) \
+                               o[op] = v[p]; \
+                       if (side) { \
+                               rp = p; \
+                               p = lp; \
+                       } else { \
+                               lp = p; \
+                               p = rp; \
+                       } \
+                       side = !side; \
+                       v = side?r:l; \
                } \
-               side = !side; \
-               v = side?r:l; \
-       } \
-}
+       } while (0)
 
 
 /*later optimize by starting at end, moving tuples */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to