Existem ferramentas projetadas especificamente para compactar dados científicos de ponto flutuante?
Se uma função é suave, obviamente há muita correlação entre os números que representam essa função; portanto, os dados devem ser compactados bem. Compactar / compactar dados binários de ponto flutuante não o compacta tão bem. Gostaria de saber se existe um método desenvolvido especificamente para compactar dados de ponto flutuante.
Requisitos:
Compactação sem perdas ou a possibilidade de especificar um número mínimo de dígitos a serem retidos (para alguns aplicativos,
double
pode ser mais do que o necessário, enquantofloat
pode não ter precisão suficiente).Ferramenta de trabalho bem testada (ou seja, não apenas um artigo descrevendo um método teórico).
Adequado para compactar dados numéricos 1D (como séries temporais)
Plataforma cruzada (deve funcionar no Windows)
Ele deve ser rápido - de preferência não muito mais lento que o gzip. Descobri que, se eu tiver os números armazenados como ASCII, compactar o arquivo com zíper poderá acelerar a leitura e o processamento (pois a operação pode estar vinculada à E / S).
Gostaria especialmente de ouvir pessoas que realmente usaram essa ferramenta.