Changeset: c7fee5a5170a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7fee5a5170a
Modified Files:
        monetdb5/modules/mosaic/mosaic_prefix.c
Branch: mosaic
Log Message:

Compilation issues


diffs (truncated from 449 to 300 lines):

diff --git a/monetdb5/modules/mosaic/mosaic_prefix.c 
b/monetdb5/modules/mosaic/mosaic_prefix.c
--- a/monetdb5/modules/mosaic/mosaic_prefix.c
+++ b/monetdb5/modules/mosaic/mosaic_prefix.c
@@ -23,7 +23,8 @@
  * Factor out the leading bits from a series of values.
  * The prefix size is determined by the first two non-identical values.
  * To use the bitvector, we limit the extracted tail to at most 32bits
- * Prefix (de-)compression does not require type knowledge
+ * The administration are 2 TPE values (mask,reference value)
+ * The size of the residu is stored in the reference value lower bits
  */
 
 #include "monetdb_config.h"
@@ -90,28 +91,28 @@ MOSlayout_prefix(Client cntxt, MOStask t
                {       unsigned char *dst = (unsigned char*)  
MOScodevector(task);
                        unsigned char mask = *dst++;
                        unsigned char val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                }
                break;
        case 2:
                {       unsigned short *dst = (unsigned short*)  
MOScodevector(task);
                        unsigned short mask = *dst++;
                        unsigned short val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                }
                break;
        case 4:
                {       unsigned int *dst = (unsigned int*)  
MOScodevector(task);
                        unsigned int mask = *dst++;
                        unsigned int val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                }
                break;
        case 8:
                {       ulng *dst = (ulng*)  MOScodevector(task);
                        ulng mask = *dst++;
                        ulng val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                }
        }
        bytes = sizeof(int) * ((MOSgetCnt(task->blk) * bits)/32 + 
(((MOSgetCnt(task->blk) * bits) %32) != 0));
@@ -124,7 +125,7 @@ MOSlayout_prefix(Client cntxt, MOStask t
 void
 MOSadvance_prefix(Client cntxt, MOStask task)
 {
-       int bits, bytes;
+       int bits = 0, bytes;
        int size;
        (void) cntxt;
 
@@ -138,7 +139,7 @@ MOSadvance_prefix(Client cntxt, MOStask 
                {       unsigned char *dst = (unsigned char*)  
MOScodevector(task);
                        unsigned char mask = *dst++;
                        unsigned char val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                        // be aware that we use longs as bit vectors
                        bytes = sizeof(int) * ((MOSgetCnt(task->blk) * bits)/32 
+ (((MOSgetCnt(task->blk) * bits) %32) != 0));
                        task->blk = (MosaicBlk) (((char*) dst)  + 
wordaligned(bytes, int)); 
@@ -148,7 +149,7 @@ MOSadvance_prefix(Client cntxt, MOStask 
                {       unsigned short *dst = (unsigned short*)  
MOScodevector(task);
                        unsigned short mask = *dst++;
                        unsigned short val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                        bytes = sizeof(int) * ((MOSgetCnt(task->blk) * bits)/32 
+ (((MOSgetCnt(task->blk) * bits) %32) != 0));
                        task->blk = (MosaicBlk) (((char*) dst)  + 
wordaligned(bytes, int)); 
                }
@@ -157,7 +158,7 @@ MOSadvance_prefix(Client cntxt, MOStask 
                {       unsigned int *dst = (unsigned int*)  
MOScodevector(task);
                        unsigned int mask = *dst++;
                        unsigned int val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                        bytes = sizeof(int) * ((MOSgetCnt(task->blk) * bits)/32 
+ (((MOSgetCnt(task->blk) * bits) %32) != 0));
                        task->blk = (MosaicBlk) (((char*) dst)  + 
wordaligned(bytes, int)); 
                }
@@ -166,7 +167,7 @@ MOSadvance_prefix(Client cntxt, MOStask 
                {       ulng *dst = (ulng*)  MOScodevector(task);
                        ulng mask = *dst++;
                        ulng val = *dst++;
-                       bits = val & (~mask);
+                       bits = (int)(val & (~mask));
                        bytes = sizeof(int) * ((MOSgetCnt(task->blk) * bits)/32 
+ (((MOSgetCnt(task->blk) * bits) %32) != 0));
                        task->blk = (MosaicBlk) (((char*) dst)  + 
wordaligned(bytes, int)); 
                }
@@ -376,7 +377,7 @@ MOScompress_prefix(Client cntxt, MOStask
 {
        BUN limit, i, j =0 ;
        int size;
-       int prefixbits,residu; 
+       int prefixbits,bits; 
        BitVector base;
        MosaicHdr hdr = task->hdr;
        MosaicBlk blk = task->blk;
@@ -401,11 +402,11 @@ MOScompress_prefix(Client cntxt, MOStask
                        }
                        w = v+1;
                        Prefix(prefixbits, mask, val, val2, 8);
-                       residu = 8-prefixbits;
+                       bits = 8-prefixbits;
                        *dst++ = mask;
                        val = *v & mask;        //reference value
                        *dst = val;
-                       *dst = *dst | residu; // bits outside mask
+                       *dst = *dst | bits; // bits outside mask
                        dst++;
                        base  = (BitVector) dst; // start of bit vector
                        
@@ -413,7 +414,7 @@ MOScompress_prefix(Client cntxt, MOStask
                        for(j=0, w = v, i = 0; i < limit; w++, i++, j++){
                                if ( val  != (*w & mask) )
                                        break;
-                               compress(base, j, residu, (int)( *w & 
(~mask))); // residu
+                               compress(base, j, bits, (int)( *w & (~mask))); 
// bits
                                hdr->checksum.sumbte += val;
                        }
                        MOSsetCnt(blk,j);
@@ -431,11 +432,11 @@ MOScompress_prefix(Client cntxt, MOStask
                        }
                        w = v+1;
                        Prefix(prefixbits, mask, val, val2, 16);
-                       residu = 16-prefixbits;
+                       bits = 16-prefixbits;
                        *dst++ = mask;
                        val = *v & mask;        //reference value
                        *dst = val;
-                       *dst = *dst | residu; // bits outside mask
+                       *dst = *dst | bits; // bits outside mask
                        dst++;
                        base  = (BitVector) dst; // start of bit vector
                        
@@ -443,7 +444,7 @@ MOScompress_prefix(Client cntxt, MOStask
                        for(j=0, w = v, i = 0; i < limit; w++, i++, j++){
                                if ( val  != (*w & mask) )
                                        break;
-                               compress(base,j,residu, (int)( *w & (~mask))); 
// residu
+                               compress(base,j,bits, (int)( *w & (~mask))); 
                                hdr->checksum.sumsht += val;
                        }
                        MOSsetCnt(blk,j);
@@ -461,20 +462,20 @@ MOScompress_prefix(Client cntxt, MOStask
                        }
                        w = v+1;
                        Prefix(prefixbits, mask, val, val2, 32);
-                       residu = 32-prefixbits;
+                       bits = 32-prefixbits;
                        *dst++ = mask;
                        val = *v & mask;        //reference value
                        *dst = val;
-                       *dst = *dst | residu; // bits outside mask
+                       *dst = *dst | bits; // bits outside mask
                        dst++;
                        base  = (BitVector) dst; // start of bit vector
                        
-                       //mnstr_printf(cntxt->fdout,"compress %o %o val %d bits 
%d, %d mask %o\n",*v,*w,val,bits, residu,mask);
+                       //mnstr_printf(cntxt->fdout,"compress %o %o val %d bits 
%d, %d mask %o\n",*v,*w,val,bits, bits,mask);
                        if( i < limit)
                        for(j=0, w = v, i = 0; i < limit; w++, i++, j++){
                                if ( val  != (*w & mask) )
                                        break;
-                               compress(base,j,residu, (int) (*w & (~mask))); 
// residu
+                               compress(base,j,bits, (int) (*w & (~mask))); // 
bits
                                hdr->checksum.sumint += val;
                        }
                        MOSsetCnt(blk,j);
@@ -492,20 +493,20 @@ MOScompress_prefix(Client cntxt, MOStask
                        }
                        w = v+1;
                        Prefix(prefixbits, mask, val, val2, 32);
-                       residu = 64-prefixbits;
+                       bits = 64-prefixbits;
                        *dst++ = mask;
                        val = *v & mask;        //reference value
                        *dst = val;
-                       *dst = *dst | residu; // bits outside mask
+                       *dst = *dst | bits; // bits outside mask
                        dst++;
                        base  = (BitVector) dst; // start of bit vector
                        
-                       //mnstr_printf(cntxt->fdout,"compress %o %o val %d bits 
%d, %d mask %o\n",*v,*w,val,bits, residu,mask);
+                       //mnstr_printf(cntxt->fdout,"compress %o %o val %d bits 
%d, %d mask %o\n",*v,*w,val,bits, bits,mask);
                        if( i < limit)
                        for(j=0, w = v, i = 0; i < limit; w++, i++,j++){
                                if ( val  != (*w & mask) )
                                        break;
-                               compress(base,j,residu, (int)(*w & (~mask))); 
// residu
+                               compress(base,j,bits, (int)(*w & (~mask))); // 
bits
                                hdr->checksum.sumlng += val;
                        }
                        MOSsetCnt(blk,j);
@@ -524,7 +525,7 @@ MOSdecompress_prefix(Client cntxt, MOSta
        MosaicHdr hdr = task->hdr;
        MosaicBlk blk =  ((MosaicBlk) task->blk);
        BUN i,lim;
-       int size;
+       int bits,size;
        BitVector base;
        (void) cntxt;
 
@@ -537,14 +538,13 @@ MOSdecompress_prefix(Client cntxt, MOSta
                {       unsigned char *dst =  (unsigned char*)  
MOScodevector(task);
                        unsigned char mask = *dst++, val  =  *dst++, v;
                        unsigned char *w = ((unsigned char*) task->src) + 
task->start;
-                       unsigned char residu;
 
-                       residu = val & (~mask);
+                       bits =(int) (val & (~mask));
                        val = val & mask;
                        base = (BitVector) dst;
-                       //mnstr_printf(cntxt->fdout,"decompress residu %d mask 
%o val %d\n",residu,m,val);
+                       //mnstr_printf(cntxt->fdout,"decompress bits %d mask %o 
val %d\n",bits,m,val);
                        for(i = 0; i < lim; i++){
-                               v = decompress(base,i,residu);
+                               v = decompress(base,i,bits);
                                hdr->checksum.sumsht += v;
                                *w++ = v;
                        }
@@ -554,14 +554,13 @@ MOSdecompress_prefix(Client cntxt, MOSta
                {       unsigned short *dst =  (unsigned short*)  (((char*) 
blk) + MosaicBlkSize);
                        unsigned short mask = *dst++, val  =  *dst++, v;
                        unsigned short *w = ((unsigned short*) task->src) + 
task->start;
-                       unsigned short residu;
 
-                       residu = val & (~mask);
+                       bits = (int) (val & (~mask));
                        val = val & mask;
                        base = (BitVector) dst;
-                       //mnstr_printf(cntxt->fdout,"decompress residu %d mask 
%o val %d\n",residu,m,val);
+                       //mnstr_printf(cntxt->fdout,"decompress bits %d mask %o 
val %d\n",bits,m,val);
                        for(i = 0; i < lim; i++){
-                               v =decompress(base,i,residu);
+                               v =decompress(base,i,bits);
                                hdr->checksum.sumsht += v;
                                *w++ = v;
                        }
@@ -571,14 +570,13 @@ MOSdecompress_prefix(Client cntxt, MOSta
                {       unsigned int *dst =  (unsigned int*)  
MOScodevector(task);
                        unsigned int mask = *dst++, val  =  *dst++, v;
                        unsigned int *w = ((unsigned int*) task->src) + 
task->start;
-                       unsigned int residu;
 
-                       residu = val & (~mask);
+                       bits = (int)(val & (~mask));
                        val = val & mask;
                        base = (BitVector) dst;
-                       //mnstr_printf(cntxt->fdout,"decompress residu %d mask 
%o val %d\n",residu,m,val);
+                       //mnstr_printf(cntxt->fdout,"decompress bits %d mask %o 
val %d\n",bits,m,val);
                        for(i = 0; i < lim; i++){
-                               v = decompress(base,i,residu);
+                               v = decompress(base,i,bits);
                                hdr->checksum.sumint += v;
                                *w++ = v;
                        }
@@ -588,14 +586,13 @@ MOSdecompress_prefix(Client cntxt, MOSta
                {       ulng *dst =  (ulng*)  MOScodevector(task);
                        ulng mask = *dst++, val  =  *dst++, v;
                        ulng *w = ((ulng*) task->src) + task->start;
-                       ulng residu;
 
-                       residu = val & (~mask);
+                       bits = (int)(val & (~mask));
                        val = val & mask;
                        base = (BitVector) dst;
-                       //mnstr_printf(cntxt->fdout,"decompress residu %d mask 
%o val %d\n",residu,m,val);
+                       //mnstr_printf(cntxt->fdout,"decompress bits %d mask %o 
val %d\n",bits,m,val);
                        for(i = 0; i < lim; i++){
-                               v= decompress(base,i,residu);
+                               v= decompress(base,i,bits);
                                hdr->checksum.sumlng += v;
                                *w++ = v;
                        }
@@ -609,9 +606,9 @@ MOSdecompress_prefix(Client cntxt, MOSta
 #define  subselect_prefix(TPE, TPE2) \
 {      TPE2 *dst =  (TPE2*)  MOScodevector(task);\
        TPE2 mask = *dst++, val = *dst++,v;\
-       TPE2 residu;\
+       int bits;\
        TPE value;\
-       residu = val & (~mask);\
+       bits = (int) (val & (~mask));\
        val = val & mask;\
        base = (BitVector) dst;\
        if( !*anti){\
@@ -624,7 +621,7 @@ MOSdecompress_prefix(Client cntxt, MOSta
                if( *(TPE*) low == TPE##_nil ){\
                        for( ; first < last; first++,i++){\
                                MOSskipit();\
-                               v = decompress(base,i,residu);\
+                               v = decompress(base,i,bits);\
                                value =  (TPE) ((TPE2)val |(TPE2) v);\
                                cmp  =  ((*hi && value <= * (TPE*)hgh ) || 
(!*hi && value < *(TPE*)hgh ));\
                                if (cmp )\
@@ -634,7 +631,7 @@ MOSdecompress_prefix(Client cntxt, MOSta
                if( *(TPE*) hgh == TPE##_nil ){\
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to