Referencia del Archivo Elias.hpp

#include <vector>
#include <string>

Dependencia gráfica adjunta para Elias.hpp:

Este gráfico muestra que archivos directa o indirectamente incluyen a este archivo:

Ir al código fuente de este archivo.

Namespaces

namespace  Mt77

Definiciones

#define Eliass_hpp

Funciones

unsigned int techo_logb2 (unsigned long x)
unsigned int piso_logb2 (unsigned int x)
unsigned long pot2 (unsigned int e)
string bin2ascii (string bs)
string vb2ascii (vector< bool > &vb)
string vb2bin (vector< bool > &vb)
string vb2str (vector< bool > &vb)
vector< bool > str2vb (string s)
void codifica_unario (unsigned long x, vector< bool > &vb)
unsigned long decodifica_unario (vector< bool > &vb)
void pone_un_entero (unsigned long x, unsigned int nbits, vector< bool > &vb)
unsigned long toma_un_entero (unsigned int nbits, vector< bool > &vb)
void codifica_elias_gama (unsigned int x, vector< bool > &vb)
unsigned long decodifica_elias_gama (vector< bool > &vb)
unsigned long lee_elias_gama (std::istream &is) throw (string)
unsigned long lee_elias_gama2 (std::istream &is) throw (string)
void escribe_elias_gama (std::ostream &os, unsigned int n)
void escribe_elias_gama2 (std::ostream &os, unsigned int n)
unsigned int long_elias_gama (unsigned long n)
void codifica_binaria_minima (unsigned long x, unsigned int n, vector< bool > &vb)
unsigned long decodifica_binaria_minima (unsigned int n, vector< bool > &vb)


Descripción detallada

Algoritmos de compresión para números

Tomados de: Compression and coding algorithms Escrito por Alistair Moffat, Andrew Turpin

http://books.google.com.co/books?id=czwqegW_NCAC&pg=PA42&lpg=PA42&dq=Binary+Interpolative+Coding&source=bl&ots=SJ0D8VHszl&sig=nkk2CIg4rpskJkCSh6NnRimC3eU&hl=es&ei=vYqWSteBLoyvtgfXiOy-Dg&sa=X&oi=book_result&ct=result&resnum=7#v=onepage&q=Binary%20Interpolative%20Coding&f=false

Definición en el archivo Elias.hpp.


Documentación de las definiciones

#define Eliass_hpp

Definición en la línea 17 del archivo Elias.hpp.


Documentación de las funciones

string bin2ascii ( string  bs  ) 

Representación de un binario como cadena imprimible de unos y ceros con espacios cada 8 digitos

void codifica_binaria_minima ( unsigned long  x,
unsigned int  n,
vector< bool > &  vb 
)

Convierte un entero menor o igual a n a su codificación binaria mínima

Definición en la línea 663 del archivo Elias.cpp.

Hace referencia a ASSERT, pone_un_entero(), pot2(), y techo_logb2().

Referenciado por EliasCasoPrueba::prueba_codifica_binaria_minima().

Gráfico de llamadas para esta función:

void codifica_elias_gama ( unsigned int  x,
vector< bool > &  vb 
)

Convierte x a su codificación Gama de Elias.

Definición en la línea 283 del archivo Elias.cpp.

Hace referencia a ASSERT, codifica_unario(), piso_logb2(), pone_un_entero(), y pot2().

Referenciado por escribe_elias_gama(), y EliasCasoPrueba::prueba_codifica_elias_gama().

Gráfico de llamadas para esta función:

void codifica_unario ( unsigned long  x,
vector< bool > &  vb 
)

Codifica entero largo x en unario como vector de booleanos

Definición en la línea 206 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por codifica_elias_gama(), y EliasCasoPrueba::prueba_unario().

unsigned long decodifica_binaria_minima ( unsigned int  n,
vector< bool > &  vb 
)

Convierte vb de codificación binaria mínima con máximo n a entero

Definición en la línea 678 del archivo Elias.cpp.

Hace referencia a ASSERT, pot2(), techo_logb2(), y toma_un_entero().

Referenciado por EliasCasoPrueba::prueba_decodifica_binaria_minima().

Gráfico de llamadas para esta función:

unsigned long decodifica_elias_gama ( vector< bool > &  vb  ) 

Convierte de codificaico gamma de Elias a entero

Definición en la línea 293 del archivo Elias.cpp.

Hace referencia a ASSERT, decodifica_unario(), pot2(), y toma_un_entero().

Referenciado por lee_elias_gama(), y EliasCasoPrueba::prueba_decodifica_elias_gama().

Gráfico de llamadas para esta función:

unsigned long decodifica_unario ( vector< bool > &  vb  ) 

Decodifica unario en vector de booleanos a entero

Definición en la línea 218 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por decodifica_elias_gama(), y EliasCasoPrueba::prueba_unario().

void escribe_elias_gama ( std::ostream &  os,
unsigned int  n 
)

Escribe al flujo os un entero en codificación gama de Elias.

Parámetros:
os Flujo de salida
n Número por escribir
Escribe al flujo os un entero en codificación gama de Elias.

Parámetros:
os Flujo de salida
n Número por escribir

Definición en la línea 541 del archivo Elias.cpp.

Hace referencia a ASSERT, y codifica_elias_gama().

Referenciado por numC(), y EliasCasoPrueba::prueba_escribe_elias_gama().

Gráfico de llamadas para esta función:

void escribe_elias_gama2 ( std::ostream &  os,
unsigned int  n 
)

Escribe rapidamente al flujo os un entero en codificación gama de Elias.

Parámetros:
os Flujo de salida
n Número por escribir

Definición en la línea 575 del archivo Elias.cpp.

Hace referencia a ASSERT, y piso_logb2().

Referenciado por escribePos(), y EliasCasoPrueba::prueba_escribe_elias_gama2().

Gráfico de llamadas para esta función:

unsigned long lee_elias_gama ( std::istream &  is  )  throw (string)

Lee un número en codificación elias gama de un flujo.

Parámetros:
is flujo de entrada
Lee de un stream un número en codificación gama de elias, Lee hasta el último caracter que tenga bits del número, si hay más se pierden porque esta función no los retorna. Es decir sirve para codificar de a un número en uno o más bytes, Una secuencia de números quedará cada numero comenzando en un byte.

Definición en la línea 310 del archivo Elias.cpp.

Hace referencia a decodifica_elias_gama(), y errorFormato().

Referenciado por cNum(), y EliasCasoPrueba::prueba_lee_elias_gama().

Gráfico de llamadas para esta función:

unsigned long lee_elias_gama2 ( std::istream &  is  )  throw (string)

Lee rapidamente un número en codificación elias gama de un flujo.

Parámetros:
is flujo de entrada

Definición en la línea 437 del archivo Elias.cpp.

Hace referencia a ASSERT, y errorFormato().

Referenciado por leePos(), y EliasCasoPrueba::prueba_lee_elias_gama2().

Gráfico de llamadas para esta función:

unsigned int long_elias_gama ( unsigned long  n  ) 

Retorna espacio que requeriría en un flujo codificar un número en codificación gama de Elías

Parámetros:
n número
Devuelve:
longitud

Definición en la línea 652 del archivo Elias.cpp.

Hace referencia a ASSERT, y piso_logb2().

Referenciado por longPos(), y EliasCasoPrueba::prueba_long_elias_gama().

Gráfico de llamadas para esta función:

unsigned int piso_logb2 ( unsigned int  n  ) 

Piso de logaritmo en base 2

http://en.wikipedia.org/wiki/Binary_logarithm

Definición en la línea 60 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por codifica_elias_gama(), escribe_elias_gama2(), long_elias_gama(), y EliasCasoPrueba::prueba_piso_logb2().

void pone_un_entero ( unsigned long  x,
unsigned int  nbits,
vector< bool > &  vb 
)

Convierte un entero a binario de máximo nbits digitos

Definición en la línea 237 del archivo Elias.cpp.

Hace referencia a ASSERT, y pot2().

Referenciado por codifica_binaria_minima(), codifica_elias_gama(), y EliasCasoPrueba::prueba_pone_un_entero().

Gráfico de llamadas para esta función:

unsigned long pot2 ( unsigned int  e  ) 

Potencia de 2, pot2(e) es 2^e

Definición en la línea 86 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por codifica_binaria_minima(), codifica_elias_gama(), decodifica_binaria_minima(), decodifica_elias_gama(), pone_un_entero(), EliasCasoPrueba::prueba_escribe_elias_gama(), EliasCasoPrueba::prueba_escribe_elias_gama2(), EliasCasoPrueba::prueba_lee_elias_gama(), EliasCasoPrueba::prueba_lee_elias_gama2(), EliasCasoPrueba::prueba_long_elias_gama(), y EliasCasoPrueba::prueba_pot2().

vector<bool> str2vb ( string  s  ) 

Convierte de cadena de unos y ceros a vector de booleanos

Definición en la línea 190 del archivo Elias.cpp.

Referenciado por EliasCasoPrueba::prueba_decodifica_binaria_minima(), EliasCasoPrueba::prueba_decodifica_elias_gama(), y EliasCasoPrueba::prueba_toma_un_entero().

unsigned int techo_logb2 ( unsigned long  x  ) 

Techo de logaritmo en base 2

Definición en la línea 29 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por codifica_binaria_minima(), decodifica_binaria_minima(), y EliasCasoPrueba::prueba_techo_logb2().

unsigned long toma_un_entero ( unsigned int  nbits,
vector< bool > &  vb 
)

Convierte un binario de máximo nbits digitos a entero

Definición en la línea 255 del archivo Elias.cpp.

Hace referencia a ASSERT.

Referenciado por decodifica_binaria_minima(), decodifica_elias_gama(), y EliasCasoPrueba::prueba_toma_un_entero().

string vb2ascii ( vector< bool > &  vb  ) 

Representación de un vector de booleanos como cadena imprimible de unos y ceros, con espacios cada 8 digitos

string vb2bin ( vector< bool > &  vb  ) 

Convierte de vector de booelanos a binario

string vb2str ( vector< bool > &  vb  ) 

Convierte de vector de booleanos a cadena de unos y ceros

Definición en la línea 177 del archivo Elias.cpp.

Referenciado por EliasCasoPrueba::prueba_codifica_binaria_minima(), EliasCasoPrueba::prueba_codifica_elias_gama(), EliasCasoPrueba::prueba_pone_un_entero(), y EliasCasoPrueba::prueba_unario().


Generado el Wed Jan 6 06:58:45 2010 para Mt77 por  doxygen 1.5.4