Algoritmo :: FEC

Corrección de errores hacia adelante usando matrices VANDERMONDE
Descargar ahora

Algoritmo :: FEC Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Marc Lehmann
  • Sitio web del editor:
  • http://www.goof.com/pcg/marc/

Algoritmo :: FEC Etiquetas


Algoritmo :: FEC Descripción

Corrección de errores hacia adelante usando matrices VANDERMONDE Algoritmo :: FEC es una interfaz Perl a la Biblioteca FEC por Luigi Rizzo et al. Vea el archivo Readme.FEC en la distribución para más detalles. Esta biblioteca implementa un código de borrado simple (codificado_blocks, data_blocks) basado en matrices VANDERMONDE. El codificador toma los bloques de datos de DATA_BLOCKS de Tamaño Block_size cada uno, y puede producir hasta codificados bloques codificados diferentes, numerados de 0 a codificados_blocks-1, de manera que cualquier subconjunto de los miembros de Data_blocks permita la reconstrucción de los datos originales. Los valores permitidos para Data_blocks y coded_blocks deben obedecer la siguiente ecuación: DATA_BLOCKS. Envíame un correo si quieres que esto suceda. Si se llama sin argumentos, el almacenamiento interno asociado con los bloques se libera de nuevo. $ BLOQUE = $ FEC-> CODE ($ BLOQUET_INDEX) Crea un solo bloque codificado de índice bloque_index, que debe estar entre 0 y codid_blocks-1 (inclusive). Los bloques de 0 a Data_Blocks-1 son simplemente copias de los bloques de datos originales. El bloque codificado se devuelve como un Scalar Perl (por lo que los bloques deben encajar en la memoria. Si este es un problema para que me envíe por correo y lo haré un archivo. $ FEC-> Set_Decode_blocks (, ) Se prepara para decodificar datos_blocks de bloques (ver set_encode_blocks para el parámetro Array_of_blocks). Dado que generalmente no suelen ser los bloques de datos originales, se debe suministrar una matriz de índices (desde 0 a codificados_blocks-1) como la segunda matriz. Ambas matrices deben tener EXACTAMENTE DATA_BLOCKS ENTRIAS. Este método también reordena los bloques y la matriz de índice en su lugar (si es necesario) para reflejar el pedido, los bloques tendrán en el resultado decodificado. La matriz de índice representa el ordenado decodificado, en la entrada n-th en los índices. La matriz corresponde al bloque de datos N-TH del resultado decodificado. El valor almacenado en el lugar N-TH en la matriz contendrá el índice del bloque de datos codificado. Los bloques de entrada con índices menos que los datos se moverán a su posición final. (bloque k Para posicionar k), mientras que las brechas entre ellas se llenarán con bloques de verificación. El proceso de decodificación no modificará los bloques de datos ya decodificados, pero modificará los bloques de verificación. Es decir, si llama a esta función con los índices = , con Data_Blocks = 3, luego se devolverá esta matriz: . Esto significa que el bloque de entrada 0 corresponde al bloque de archivo 0, bloque de entrada 1 para archivar bloque 2 y bloque de entrada 2 al bloque de datos 1. Puede simplemente iterar a través de esta matriz y escribir el bloque de datos correspondiente (aunque esto es ineficiente): para My $ I (0 .. $ # IDX) Si ($ IDX ! = $ i) # ¿Necesitamos mover este bloque? Copiar bloque codificado $ IDX para posicionar $ I}} El método de copia puede ser útil aquí. Este método destruye la matriz de bloques según la configuración de Set_Encode_blocks. $ FEC-> SHUFFLE (, ) igual a la misma como set_decode_blocks, con la excepción de que los bloques no estén configurados para decodificar. Este método normalmente no se usa, pero si desea mover los bloques alrededor después de reordenar y antes de decodificar, luego llame a Shuffle, seguido de Set_Decode_Blocks, incurre en la parte superior inferior a la llamada Set_DECODE_BLOCKS dos veces, ya que los archivos no son madming, etc. $ FEC-> Decodificó los bloques establecido por una llamada previa a set_decode_blocks. Este método destruye la matriz de bloques como configurada por SET_DECODE_BLOCKS. $ FEC-> Copia ($ SRCBLOCK, $ DSTBLOCK) Función de utilidad que simplemente copia un bloque (especificado como en set_encode_blocks) en otro. Esto, por cierto., Destruye los bloques establecidos por set _ * _ bloques. Sinopsis usa algoritmo :: FEC; Requisitos: · Perl


Algoritmo :: FEC Software relacionado

Gftracks

Perl extensión para la manipulación de Gramofiles. Archivos de extracción ...

164

Descargar