Skip to content

Compresion#11

Open
dhasane wants to merge 6 commits intopasosdeJesus:huffmanfrom
dhasane:compresion
Open

Compresion#11
dhasane wants to merge 6 commits intopasosdeJesus:huffmanfrom
dhasane:compresion

Conversation

@dhasane
Copy link
Copy Markdown
Contributor

@dhasane dhasane commented Aug 17, 2021

Se soluciono uno de los problemas en la mezcla de indices. No se estaba teniendo cuenta el escape de caracteres que fue agregado en leeCad. De momento se agrego la misma solución de leeCad y parece estar funcionando correctamente.
Algo que seria recomendable a futuro, es buscar todas las partes del código que hagan el mismo trabajo y unificarlas en una función, de forma que no haya que arreglarlo varias veces.
Adicionalmente se modifico la forma en la que se generaban los arboles de huffman, haciendo mas conveniente el agregar varias fuentes. De forma que se mantenga la consistencia del árbol, una vez este comience a ser utilizado (operaciones de lectura o escritura), se bloquea la posibilidad de modificarlo nuevamente. Esto porque se estaría utilizando un árbol distinto en caso de modificarlo entre lecturas/escrituras.

dhasane added 6 commits July 12, 2021 13:22
Adicionalmente creo que ya encontre el problema de:
"marcos.indice:8979589794: Se esperaba digito 128b"

Parece ser debido a que en lee128b se lee el stream de entrada, pero
este no se descomprime, haciendo que se encuentren caracteres
inesperados.
Ahora es mas evidente como agregar varias tendencias a un arbol
huffman. Se pueden agregar de un archivo o un mapa. Se podria agregar
que tambien se agregue de una cadena, en este momento solo se tiene por
constructor, o convertir una cadena a un mapa y usar agregar mapa.

Se puede agregar la cantidad de fuentes que sea, mientras no se llame
compresion o descompresion. Una vez se llame una de estas funciones,
se "bloquea" el arbol y ya no se pueden hacer cambios adicionales.
Se realiza la misma operacion de lectura en varias partes del codigo,
haciendo que, debido a los cambios que se realizaron para compresion,
que la misma operacion dejara de funcionar. De momento puse el mismo
codigo que esta en leeCad para solucionar, pero a futuro valdria la
pena buscar el codigo que pueda estar repetido y abstraerlo a varias
funciones. Hay mucho codigo repetido.
Comment thread regr/regr.sh

# exit
comparar mm.indice md.indice
exit
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sigue existiendo error en esta comparacion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant