Changeset: 0b89dc6bd053 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0b89dc6bd053 Modified Files: monetdb5/modules/mal/manifold.c Branch: Oct2014 Log Message:
Complete changeset e9bf84f4aa1f; layout.
diffs (142 lines):
diff --git a/monetdb5/modules/mal/manifold.c b/monetdb5/modules/mal/manifold.c
--- a/monetdb5/modules/mal/manifold.c
+++ b/monetdb5/modules/mal/manifold.c
@@ -66,69 +66,77 @@ typedef struct{
// Loop through the first BAT
// keep the last error message received
-#define ManifoldLoop(Type, ...) { \
- Type *v = (Type*) mut->args[0].first; \
- oid oo, olimit = mut->args[mut->fvar].cnt; \
- for( oo= 0; oo < olimit; oo++){\
- msg = (*mut->pci->fcn)(v, __VA_ARGS__); \
- if (msg) break; \
- for( i = mut->fvar; i<= mut->lvar; i++) { \
- if(ATOMstorage(mut->args[i].type == TYPE_void) ){
\
- args[i] = (void*) &mut->args[i].o; \
- mut->args[i].o++; \
- } else if(ATOMstorage(mut->args[i].type) < TYPE_str ) {
\
- args[i] += mut->args[i].size; \
- } else if (ATOMvarsized(mut->args[i].type)) { \
- mut->args[i].o++; \
- mut->args[i].s = (str *)
BUNtail(mut->args[i].bi, mut->args[i].o); \
- args[i] = (void*) &mut->args[i].s; \
- } else { \
- mut->args[i].o++; \
- mut->args[i].s = (str *) Tloc(mut->args[i].b,
mut->args[i].o); \
- args[i] = (void*) &mut->args[i].s; \
- } \
- } \
- v++; \
- } \
-}
+#define ManifoldLoop(Type, ...)
\
+ do {
\
+ Type *v = (Type*) mut->args[0].first;
\
+ oid oo, olimit = mut->args[mut->fvar].cnt;
\
+ for( oo= 0; oo < olimit; oo++){
\
+ msg = (*mut->pci->fcn)(v, __VA_ARGS__);
\
+ if (msg) break;
\
+ for( i = mut->fvar; i<= mut->lvar; i++) {
\
+ if(ATOMstorage(mut->args[i].type == TYPE_void)
){ \
+ args[i] = (void*) &mut->args[i].o;
\
+ mut->args[i].o++;
\
+ } else if(mut->args[i].size == 0) {
\
+ ;
\
+ } else if(ATOMstorage(mut->args[i].type) <
TYPE_str ) { \
+ args[i] += mut->args[i].size;
\
+ } else if (ATOMvarsized(mut->args[i].type)) {
\
+ mut->args[i].o++;
\
+ mut->args[i].s = (str *)
BUNtail(mut->args[i].bi, mut->args[i].o); \
+ args[i] = (void*) &mut->args[i].s;
\
+ } else {
\
+ mut->args[i].o++;
\
+ mut->args[i].s = (str *)
Tloc(mut->args[i].b, mut->args[i].o); \
+ args[i] = (void*) &mut->args[i].s;
\
+ }
\
+ }
\
+ v++;
\
+ }
\
+ } while (0)
// The target BAT tail type determines the result variable
-#define Manifoldbody(...) \
-switch(ATOMstorage(mut->args[0].b->T->type)){\
-case TYPE_bte: ManifoldLoop(bte,__VA_ARGS__); break;\
-case TYPE_sht: ManifoldLoop(sht,__VA_ARGS__); break;\
-case TYPE_int: ManifoldLoop(int,__VA_ARGS__); break;\
-case TYPE_lng: ManifoldLoop(lng,__VA_ARGS__); break;\
-case TYPE_oid: ManifoldLoop(oid,__VA_ARGS__); break;\
-case TYPE_flt: ManifoldLoop(flt,__VA_ARGS__); break;\
-case TYPE_dbl: ManifoldLoop(dbl,__VA_ARGS__); break;\
-case TYPE_str: \
-default:\
-{ oid oo, olimit = mut->args[mut->fvar].cnt; \
- for( oo= 0; oo < olimit; oo++){\
- msg = (*mut->pci->fcn)(&y, __VA_ARGS__); \
- if (msg) \
- break; \
- bunfastapp(mut->args[0].b, (void*) y); \
- for( i = mut->fvar; i<= mut->lvar; i++) { \
- if(ATOMstorage(mut->args[i].type == TYPE_void) ){
\
- args[i] = (void*) &mut->args[i].o; \
- mut->args[i].o++; \
- } else if(mut->args[i].size == 0 || \
- ATOMstorage(mut->args[i].type) <
TYPE_str){ \
- args[i] += mut->args[i].size; \
- } else if(ATOMvarsized(mut->args[i].type)){ \
- mut->args[i].o++; \
- mut->args[i].s = (str*)
BUNtail(mut->args[i].bi, mut->args[i].o);\
- args[i] = (void*) & mut->args[i].s; \
- } else { \
- mut->args[i].o++; \
- mut->args[i].s = (str*) Tloc(mut->args[i].b,
mut->args[i].o);\
- args[i] = (void*) & mut->args[i].s; \
- } \
- } \
- } \
-} }
+#define Manifoldbody(...)
\
+ do {
\
+ switch(ATOMstorage(mut->args[0].b->T->type)){
\
+ case TYPE_bte: ManifoldLoop(bte,__VA_ARGS__); break;
\
+ case TYPE_sht: ManifoldLoop(sht,__VA_ARGS__); break;
\
+ case TYPE_int: ManifoldLoop(int,__VA_ARGS__); break;
\
+ case TYPE_lng: ManifoldLoop(lng,__VA_ARGS__); break;
\
+ case TYPE_oid: ManifoldLoop(oid,__VA_ARGS__); break;
\
+ case TYPE_flt: ManifoldLoop(flt,__VA_ARGS__); break;
\
+ case TYPE_dbl: ManifoldLoop(dbl,__VA_ARGS__); break;
\
+ case TYPE_str:
\
+ default: {
\
+ oid oo, olimit = mut->args[mut->fvar].cnt;
\
+ for( oo= 0; oo < olimit; oo++){
\
+ msg = (*mut->pci->fcn)(&y, __VA_ARGS__);
\
+ if (msg)
\
+ break;
\
+ bunfastapp(mut->args[0].b, (void*) y);
\
+ for( i = mut->fvar; i<= mut->lvar; i++) {
\
+ if(ATOMstorage(mut->args[i].type ==
TYPE_void) ){ \
+ args[i] = (void*)
&mut->args[i].o; \
+ mut->args[i].o++;
\
+ } else if(mut->args[i].size == 0) {
\
+ ;
\
+ } else if
(ATOMstorage(mut->args[i].type) < TYPE_str){ \
+ args[i] += mut->args[i].size;
\
+ } else
if(ATOMvarsized(mut->args[i].type)){ \
+ mut->args[i].o++;
\
+ mut->args[i].s = (str*)
BUNtail(mut->args[i].bi, mut->args[i].o); \
+ args[i] = (void*) &
mut->args[i].s; \
+ } else {
\
+ mut->args[i].o++;
\
+ mut->args[i].s = (str*)
Tloc(mut->args[i].b, mut->args[i].o); \
+ args[i] = (void*) &
mut->args[i].s; \
+ }
\
+ }
\
+ }
\
+ break;
\
+ }
\
+ }
\
+ } while (0)
// single argument is preparatory step for GDK_mapreduce
// Only the last error message is returned, the value of
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list
