Cambios minimos, no se si entraran en la impresion :( master svn_import
authorLeandro Lucarella <llucax@gmail.com>
Mon, 28 Jun 2004 10:59:47 +0000 (10:59 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Mon, 28 Jun 2004 10:59:47 +0000 (10:59 +0000)
doc/InformeTP3.lyx

index c1f65dbca278cce37a3c4ff75e3f82d017ad005e..4a8d1de347b2c4b3225205df57fc2b66e150bd6a 100644 (file)
@@ -412,7 +412,23 @@ Huffman
  Especifica la calidad (nivel) de compresión.
  Puede ser un valor entre 0 y 9, siendo 0 el menor nivel de compresión (más
  rápido) y 9 el máximo (más lento).
- Por omisión se utiliza un nivel de compresión 5.
+ Por omisión se utiliza un nivel de compresión 5
+\begin_inset Foot
+collapsed true
+
+\layout Standard
+
+Cada valor de este parámetro está asociado a un tamaño de página usado para
+ el algoritmo de 
+\series bold 
+Block Sorting
+\series default 
+.
+ Los tamaños de página en bytes son, de 0 a 9 respectivamente: 1K, 2K, 4K,
+ 8K, 16K, 32K, 64K, 128K, 256K y 512K.
+\end_inset 
+
+.
 \layout Subsubsection*
 
 Ejemplos
@@ -487,7 +503,7 @@ Block Sorting
 
 La técnica de Block Sorting
 \begin_inset Foot
-collapsed false
+collapsed true
 
 \layout Standard
 
@@ -519,7 +535,7 @@ El otro problema es el tiempo de ordenamiento de los desplazamientos, que
  Una posibilidad es utilizar un método de ordenamiento de bajo orden, como
  el Quick Sort
 \begin_inset Foot
-collapsed false
+collapsed true
 
 \layout Standard
 
@@ -664,7 +680,7 @@ Luego de inicializar el vector Desplazamiento (esta parte es
 
 
 \begin_inset Foot
-collapsed false
+collapsed true
 
 \layout Standard
 
@@ -722,7 +738,7 @@ abcd
 
 \layout LyX-Code
 
-Salida: 00001011001000200020101000300010004
+Salida:    000010110010000200020101000300001000
 \layout Standard
 
 Un símbolo es codificado como el índice (ó posición) en la lista de símbolos
@@ -756,9 +772,9 @@ Si bien no ahondaremos en detalles de implementaci
  compresor.
  Antes, es necesario comentar que el estado del compresor, se mantiene a
  través de una estructura definida como 
-\series bold 
+\family typewriter 
 HUFF_STATE
-\series default 
+\family default 
 , en la cual se especificarán cosas tales como si el compresor actúa sobre
  archivos o chunks de datos, si es un huffman canónico o estándar, archivo
  a comprimir, archivo destino, etc.
@@ -772,32 +788,27 @@ ado utilizando las rutinas:
 
 
 \family typewriter 
-\noun on 
 HUFF_STATE *shuff_init_encoder_byfile(char *inputfile, char *outputfile,
  long volsize);
 \layout Itemize
 
 
 \family typewriter 
-\noun on 
 HUFF_STATE *shuff_init_encoder_bychunk(char *outputfile, long volsize);
 \layout Itemize
 
 
 \family typewriter 
-\noun on 
 HUFF_STATE *shuff_init_decoder(char *inputfile, char *outputfile);
 \layout Itemize
 
 
 \family typewriter 
-\noun on 
 void shuff_deinit_encoder(HUFF_STATE *shuff);
 \layout Itemize
 
 
 \family typewriter 
-\noun on 
 void shuff_deinit_decoder(HUFF_STATE *shuff);
 \layout Standard
 
@@ -863,8 +874,12 @@ Uno de los problemas que ten
 \layout Standard
 
 Obviamente como eso resultaba muy molesto planteamos un modelo más abstracto
- al que llamamos Virtual File, que es una API escrita sobre la API ANSI-C
- de Input/Output que maneja de manera transparente este tema.
+ al que llamamos 
+\emph on 
+Virtual File
+\emph default 
+, que es una API escrita sobre la API ANSI-C de Input/Output que maneja
+ de manera transparente este tema.
 \layout Standard
 
 Utilizar la API esta tan simple como agregar una 
@@ -875,8 +890,27 @@ v
 \begin_inset Quotes erd
 \end_inset 
 
- delante de las funciones fopen, fclose, fread, etc y reemplazar la estructura
- FILE por VFILE.
+ delante de las funciones 
+\family typewriter 
+fopen
+\family default 
+, 
+\family typewriter 
+fclose
+\family default 
+, 
+\family typewriter 
+fread
+\family default 
+, etc y reemplazar la estructura 
+\family typewriter 
+FILE
+\family default 
+ por 
+\family typewriter 
+VFILE
+\family default 
+.
 \layout Standard
 
 Cuando se abre un archivo para escritura a medida que se van escribiendo
@@ -890,6 +924,14 @@ La lectura es similar.
  Cada vez que se llega al EOF de un archivo, si éste no es el último volumen,
  se cierra el archivo actual y se abre el siguiente hasta llegar al EOF
  del último volumen.
+\layout Standard
+
+Esta API sólo agrega un byte de información de control delante de cada volumen,
+ que indica si es el último volumen del archivo virtual.
+ De esta manera se pueden abrir y leer archivos virtuales sin saber a priori
+ el tamaño de los volúmenes (hasta se podría ampliar la API de escritura
+ para que cada volumen tenga un tamaño distinto y la API de lectura seguiría
+ funcionando sin cambios).
 \layout Section
 
 
@@ -1028,6 +1070,30 @@ N
  vez superan los 50 ceros seguidos, por lo que de utilizar más de un byte
  para expresar la cantidad de ceros que siguen al primero se obtendrían
  peores resultados.
+\layout Standard
+
+Con respecto a los tiempos, como se puede observar en el capítulo 
+\begin_inset LatexCommand \ref{cha:Benchmarks}
+
+\end_inset 
+
+, en muchos casos es incluso más rápido usar el 
+\series bold 
+ZG
+\series default 
+ ya que el 
+\series bold 
+Huffman
+\series default 
+ tiene que comprimir menos y el proceso del 
+\series bold 
+ZG
+\series default 
+ es mucho menor que el del 
+\series bold 
+Huffman
+\series default 
+.
 \layout Subsubsection*
 
 Ejemplo:
@@ -1064,7 +1130,7 @@ ZG
 \series default 
  es de 22 (incluso cuando hubieron expansiones).
  Como se podrá ver en las pruebas del capítulo 
-\begin_inset LatexCommand \vref{cha:Benchmarks}
+\begin_inset LatexCommand \ref{cha:Benchmarks}
 
 \end_inset