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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list