Оказывается, в Ruby 2.0 введено непосредственное представление значений с плавающей точкой на 64-битной архитектуре, в связи с этим несколько констант теперь отличаются и от Ruby 1.9, и от Ruby 2.0 x32. Всё это, конечно, отражено в макросах .h
-файлов, но вот при переводе на другие языки приходится учитывать... Макросы и инлайны там ужасающего вида, посему приходится радоваться, что старый формат остался доступен, правда зачем-то вместо rb_float_new()
теперь rb_float_new_in_heap()
с теми же параметрами. А вообще, могли бы и экспортируемую фунцию для формирования новоформатного Float
сделать...
PS. Следующая версия ppRuby будет поддерживать Ruby 2.0 и не будет 1.8. Ну, и интерфейс модуля опять полностью перекурочен — возможность одновременной загрузки двух разных движков мне более не представляется сколь-нибудь ценной.
PPS. Разный стиль версионного именования файлов .so
в разных дистрибутивах Linux — бесит.
Комментариев нет:
Отправить комментарий