X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=swcsa%2FintIndex%2FpsiHuffmanRLE.c;h=c5b9451cf20ff7dc33958e6681619e184723d9b0;hb=6ba83dea468496a31eb57bdbac9b257a5a191a26;hp=5e36869b0b1ac53cdf14ee84cb3d0892db78f187;hpb=102e33b134075765e6d4e0c38bc1307568ce5602;p=SXSI%2FTextCollection.git diff --git a/swcsa/intIndex/psiHuffmanRLE.c b/swcsa/intIndex/psiHuffmanRLE.c index 5e36869..c5b9451 100644 --- a/swcsa/intIndex/psiHuffmanRLE.c +++ b/swcsa/intIndex/psiHuffmanRLE.c @@ -3,7 +3,7 @@ // IMPLEMENTACION DAS FUNCIONS void destroyHuffmanCompressedPsi(HuffmanCompressedPsi *compressedPsi) { - freeHuff(compressedPsi->diffsHT); + freeHuff2(compressedPsi->diffsHT); free(compressedPsi->samples); free(compressedPsi->samplePointers); free (compressedPsi->stream); @@ -67,11 +67,11 @@ HuffmanCompressedPsi huffmanCompressPsi(unsigned int *Psi, unsigned int psiSize, else if(diffs[index]<0) { // Valor negativo absolute_value = -diffs[index]; - binaryLenght = bits(absolute_value); + binaryLenght = _bits(absolute_value); huffmanDst[binaryLenght+negStart-1]++; } else { // Valor grande >= 128 absolute_value = diffs[index]; - binaryLenght = bits(absolute_value); + binaryLenght = _bits(absolute_value); huffmanDst[binaryLenght+bigStart-1]++; } } @@ -99,8 +99,8 @@ HuffmanCompressedPsi huffmanCompressPsi(unsigned int *Psi, unsigned int psiSize, // Calculamos o numero de mostras e o espacio ocupado por cada mostra e por cada punteiro numberOfSamples = (psiSize+T-1)/T; - sampleSize = bits(psiSize); - pointerSize = bits(streamSize); + sampleSize = _bits(psiSize); + pointerSize = _bits(streamSize); // Reservamos espacio para a secuencia e para as mostras e punteiros samples = (unsigned int *)malloc(sizeof(uint)*((numberOfSamples*sampleSize+31)/32)); @@ -132,13 +132,13 @@ HuffmanCompressedPsi huffmanCompressPsi(unsigned int *Psi, unsigned int psiSize, else if(diffs[index]<0) { // Valor negativo absolute_value = -diffs[index]; - binaryLenght = bits(absolute_value); + binaryLenght = _bits(absolute_value); ptr = encodeHuff(diffsHT,binaryLenght+negStart-1,stream,ptr); bitwrite(stream,ptr,binaryLenght,absolute_value); ptr += binaryLenght; } else { // Valor grande >= 128 absolute_value = diffs[index]; - binaryLenght = bits(absolute_value); + binaryLenght = _bits(absolute_value); ptr = encodeHuff(diffsHT,binaryLenght+bigStart-1,stream,ptr); bitwrite(stream,ptr,binaryLenght,absolute_value); ptr += binaryLenght; @@ -166,7 +166,7 @@ HuffmanCompressedPsi huffmanCompressPsi(unsigned int *Psi, unsigned int psiSize, totalSize = sizeof(HuffmanCompressedPsi) + sizeof(int)*((numberOfSamples*sampleSize+31)/32) + sizeof(int)*((numberOfSamples*pointerSize+31)/32) + - sizeof(int)*((streamSize+31)/32) + sizeHuff(diffsHT); + sizeof(int)*((streamSize+31)/32) + sizeHuff2(diffsHT); printf("\n\t Compressed Psi size = %d bytes, with %d different symbols.", totalSize, nS);