Чи є інструменти, спеціально розроблені для стиснення наукових даних з плаваючою точкою?
Якщо функція гладка, очевидно, що між числами, що представляють цю функцію, існує велика кореляція, тому дані повинні добре стискатися. Зіпсування / gzipping бінарні дані з плаваючою точкою не дуже добре стискають його. Мені цікаво, чи є метод, спеціально розроблений для стиснення даних з плаваючою точкою.
Вимоги:
Чи стиснення без втрат, так і можливість задати мінімальну кількість цифр, яку потрібно зберегти (для деяких додатків
double
може бути більше, ніж нам потрібно, алеfloat
може мати недостатню точність).Добре перевірений робочий інструмент (тобто не просто документ, що описує теоретичний метод).
Підходить для стиснення 1D числових даних (таких як часовий ряд)
Крос-платформа (повинна працювати в Windows)
Він повинен бути швидким --- бажано не набагато повільніше, ніж gzip. Я виявив, що якщо у мене числа зберігаються як ASCII, gzipping файлу може прискорити читання та обробку його (оскільки операція може бути пов'язана з введенням / виводом).
Особливо хотілося б почути від людей, які насправді використовували такий інструмент.