// IMPLEMENTACION DAS FUNCIONS
void destroyHuffmanCompressedPsi(HuffmanCompressedPsi *compressedPsi) {
- freeHuff(compressedPsi->diffsHT);
+ freeHuff2(compressedPsi->diffsHT);
free(compressedPsi->samples);
free(compressedPsi->samplePointers);
free (compressedPsi->stream);
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]++;
}
}
// 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));
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;
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);