huffman occurences dirty hack working
This commit is contained in:
parent
7acfb7b20c
commit
cc94c88847
|
@ -103,7 +103,7 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
// frequency analysis
|
// frequency analysis
|
||||||
|
|
||||||
uint8_t buf[512];
|
uint8_t* buf = malloc(filelen);
|
||||||
|
|
||||||
// dump start of file if debugging
|
// dump start of file if debugging
|
||||||
// FIXME add conditions if the part to print is smaller than 512B
|
// FIXME add conditions if the part to print is smaller than 512B
|
||||||
|
@ -130,7 +130,22 @@ int main(int argc, char *argv[]) {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// TODO calculate occurences
|
// TODO calculate occurences
|
||||||
|
// FIXME this loads the file into RAM completely. Loading a too big file would eat all memory of the system.
|
||||||
|
// This is a dirty hack of an algorithm.
|
||||||
|
for(int i = 0; i < filelen; i++) {
|
||||||
|
fread(buf+i, 1, 1, fptrR);
|
||||||
|
}
|
||||||
|
|
||||||
|
// now go through all of the stored bytes in the buffer and count the occurences.
|
||||||
|
for(int i = 0; i < filelen; i++) {
|
||||||
|
occurences[*(buf+i)]++; // FIXME this might get the value of the bytes but +1, not sure about the logic!
|
||||||
|
}
|
||||||
|
|
||||||
|
// holy shit i think the dirty hack is working
|
||||||
|
// well, at least for smaller files.
|
||||||
|
// SEGVAULT for the 10G file, 1G works.
|
||||||
|
|
||||||
|
|
||||||
if(debug){
|
if(debug){
|
||||||
printf("Occurences (Hex):\n");
|
printf("Occurences (Hex):\n");
|
||||||
for(int i=0;i<256;i++){
|
for(int i=0;i<256;i++){
|
||||||
|
|
Loading…
Reference in New Issue