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)