Pull to refresh
14
0
Александр Симаков @xdr

User

Send message
Согласен. Если я не ошибаюсь, то первая практическая реализация
арифметического кодирования была описана (аж) в 1987 году:

www.stanford.edu/class/ee398a/handouts/papers/WittenACM87ArithmCoding.pdf
Спасибо за инфо, надо посмотреть
Спасибо! Будут вопросы — предложения, обращайтесь)
Раз уже такой случай, разрешите и мне тоже пропиариться:
EPSILON — (Yet Another Wavelet Coder) — epsilon-project.sourceforge.net/

1. Библиотека используется в GIS-движке GDAL:
www.gaia-gis.it/raster_benchmark/color-ortho-epsilon.html
www.gdal.org/frmt_epsilon.html

2. Поддерживает ~30 вейвлетных фильтров (в том числе фильтр Добеши 9/7 упомянутый в статье)

3. Работает с изображениями любой формы и любого размера (>>4Gb)

4. Три механизма распараллеливания:
— можно собрать многопоточную версию (POSIX threads)
— можно собрать MPI-версию (протестировано на реальном кластере в МГУ)
— можно собрать кластерную версию (простой TCP-демон)

Также можно собрать обычную однопоточную последовательную версию без наворотов

5. Лицензия LGPL3

6. Есть тесты на Perl для каждого из билдов.

7. Можно заранее указывать желаемую степень сжатия.

8. Есть официальные DEBы для Debain & Ubuntu, есть RPM-ы для шапочек

В том и дело, что запускается не Test::Perl::Critic, а Perl::Critic.
Test::POD, как и другие Test::* модули предназначены для использования в тестах: они выдают на выходе данные в формате TAP (Test Any Protocol). Соответственно, для проверки POD-а при коммите необходимо на стороне сервера запустить уже написанный тест (*.t), в котором используется Test::POD, либо сгенерить этот тест на лету, а затем запустить /usr/bin/prove-ом, или Test::Harness-ом.

Т.е. ответ на вопрос «что-мешает» — ничего не мешает, просто нужно эту логику реализовать, т.к. она отличается от того как работает perlcritic-checker.
Я лишь хочу сказать, что для того чтобы тесты запускались автоматически при коммите
(на стороне svn-сервера или на выделенной машине), необходимо дополнительно
научить pre-commit hook это делать: checkout текущей версии + применить diff изменений
пришедших с данным коммитом (т.к. эти изменения ещё не в репозитории) + prove.

А кстати, для общего развития, кто знает есть ли для PHP аналогичные синтаксические анализаторы?
Да, есть очень полезные Test::* модули, однако автоматически (при коммите) они запускаться не станут.
Как вариант, можно настроить CI-сервер и запускать такие тесты на регулярной основе.

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity