ext/vector_source.c in gsl-1.12.109 vs ext/vector_source.c in gsl-1.14.5

- old
+ new

@@ -44,25 +44,25 @@ void parse_subvector_args(int argc, VALUE *argv, size_t size, size_t *offset, size_t *stride, size_t *n); void FUNCTION(get_range,beg_en_n)(VALUE range, BASE *beg, BASE *en, size_t *n, int *step) { - *beg = NUMCONV2(rb_ivar_get(range, rb_gsl_id_beg)); - *en = NUMCONV2(rb_ivar_get(range, rb_gsl_id_end)); + *beg = NUMCONV2(rb_funcall3(range, rb_gsl_id_beg, 0, NULL)); + *en = NUMCONV2(rb_funcall3(range, rb_gsl_id_end, 0, NULL)); *n = (size_t) fabs(*en - *beg); - if (!RTEST(rb_ivar_get(range, rb_gsl_id_excl))) *n += 1; + if (!RTEST(rb_funcall3(range, rb_gsl_id_excl, 0, NULL))) *n += 1; if (*en < *beg) *step = -1; else *step = 1; } #ifdef BASE_INT void get_range_beg_en_n_for_size(VALUE range, int *beg, int *en, size_t *n, int *step, size_t size) { - *beg = NUM2INT(rb_ivar_get(range, rb_gsl_id_beg)); + *beg = NUM2INT(rb_funcall3(range, rb_gsl_id_beg, 0, NULL)); if(*beg < 0) *beg += size; - *en = NUM2INT(rb_ivar_get(range, rb_gsl_id_end)); + *en = NUM2INT(rb_funcall3(range, rb_gsl_id_end, 0, NULL)); if(*en < 0) *en += size; *n = (size_t) fabs(*en - *beg); - if (!RTEST(rb_ivar_get(range, rb_gsl_id_excl))) *n += 1; + if (!RTEST(rb_funcall3(range, rb_gsl_id_excl, 0, NULL))) *n += 1; if (*en < *beg) *step = -1; else *step = 1; } void parse_subvector_args(int argc, VALUE *argv, size_t size, size_t *offset, size_t *stride, size_t *n)