Я хочу сделать эквивалент
::Infinity= 1.0/0
в расширении ruby, написанном на C.
До сих пор я придумал
rb_const_set(rb_mKernel, rb_intern("Infinity"), rb_float_new(1.0/0));
, который выдает мне предупреждение компилятора из-за деления на ноль. И
rb_const_set(rb_mKernel, rb_intern("Infinity"), rb_eval_string("1.0/0"));
, что ужасно из-за использования eval
.
Что является правильным решением для этого?