#include <vector>#include <string>


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) |
Tomados de: Compression and coding algorithms Escrito por Alistair Moffat, Andrew Turpin
Definición en el archivo Elias.hpp.
| 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().

| 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().

| 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().

| 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().

| 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.
| os | Flujo de salida | |
| n | Número por escribir |
| 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().

| void escribe_elias_gama2 | ( | std::ostream & | os, | |
| unsigned int | n | |||
| ) |
Escribe rapidamente al flujo os un entero en codificación gama de Elias.
| 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().

| unsigned long lee_elias_gama | ( | std::istream & | is | ) | throw (string) |
Lee un número en codificación elias gama de un flujo.
| is | flujo de entrada |
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().

| unsigned long lee_elias_gama2 | ( | std::istream & | is | ) | throw (string) |
Lee rapidamente un número en codificación elias gama de un flujo.
| 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().

| 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
| n | número |
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().

| 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().

| 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().
1.5.4