Changeset: 245ddf5cc3c1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=245ddf5cc3c1
Modified Files:
monetdb5/modules/mal/mosaic_prefix.c
Branch: mosaic
Log Message:
Properly calculate the remainder
diffs (39 lines):
diff --git a/monetdb5/modules/mal/mosaic_prefix.c
b/monetdb5/modules/mal/mosaic_prefix.c
--- a/monetdb5/modules/mal/mosaic_prefix.c
+++ b/monetdb5/modules/mal/mosaic_prefix.c
@@ -86,7 +86,7 @@ MOSadvance_prefix(Client cntxt, MOStask
bte val = *dst++;
bits = val & (~mask);
// be aware that we use longs as bit vectors
- bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + ((MOSgetCnt(task->blk) %64) != 0));
+ bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + (((MOSgetCnt(task->blk) * bits) %64) != 0));
task->blk = (MosaicBlk) (((char*) dst) +
wordaligned(bytes,sht));
//mnstr_printf(cntxt->fdout,"advance mask width %d
bytes %d %d \n",bits,bytes,(int)wordaligned(bytes,int));
}
@@ -96,7 +96,7 @@ MOSadvance_prefix(Client cntxt, MOStask
sht mask = *dst++;
sht val = *dst++;
bits = val & (~mask);
- bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + ((MOSgetCnt(task->blk) %64) != 0));
+ bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + (((MOSgetCnt(task->blk) * bits) %64) != 0));
task->blk = (MosaicBlk) (((char*) dst) +
wordaligned(bytes,sht));
//mnstr_printf(cntxt->fdout,"advance mask width %d
bytes %d %d \n",bits,bytes,(int)wordaligned(bytes,int));
}
@@ -106,7 +106,7 @@ MOSadvance_prefix(Client cntxt, MOStask
int mask = *dst++;
int val = *dst++;
bits = val & (~mask);
- bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + ((MOSgetCnt(task->blk) %64) != 0));
+ bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + (((MOSgetCnt(task->blk) * bits) %64) != 0));
task->blk = (MosaicBlk) (((char*) dst) +
wordaligned(bytes, int));
//mnstr_printf(cntxt->fdout,"advance mask width %d
bytes %d %d \n",bits,bytes,(int)wordaligned(bytes,int));
}
@@ -116,7 +116,7 @@ MOSadvance_prefix(Client cntxt, MOStask
lng mask = *dst++;
lng val = *dst++;
bits = val & (~mask);
- bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + ((MOSgetCnt(task->blk) %64) != 0));
+ bytes = sizeof(unsigned long) * ((MOSgetCnt(task->blk)
* bits)/64 + (((MOSgetCnt(task->blk) * bits) %64) != 0));
task->blk = (MosaicBlk) (((char*) dst) +
wordaligned(bytes, lng));
//mnstr_printf(cntxt->fdout,"advance mask width %d
bytes %d %d \n",bits,bytes,(int)wordaligned(bytes,int));
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list