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

Reply via email to