/* * call-seq: * fix + numeric -> numeric_result * * Performs addition: the class of the resulting object depends on * the class of <code>numeric</code> and on the magnitude of the * result. */ static mrb_value fix_plus(mrb_state *mrb, mrb_value self) { mrb_value other; mrb_get_args(mrb, "o", &other); return mrb_fixnum_plus(mrb, self, other); }
/* * call-seq: * fix + numeric -> numeric_result * * Performs addition: the class of the resulting object depends on * the class of <code>numeric</code> and on the magnitude of the * result. */ static mrb_value fix_plus(mrb_state *mrb, mrb_value self) { mrb_value other; mrb_get_args(mrb, "o", &other); #ifdef MRB_COMPLEX if (mrb_complex_p(other)) { return mrb_complex_value(mrb, mrb_real(other) + (mrb_float)mrb_fixnum(self), mrb_imag(other)); } #endif return mrb_fixnum_plus(mrb, self, other); }