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