12 #define RANGE_CLASS (mrb_class_get(mrb, "Range"))
41 range_check(mrb, beg, end);
94 return mrb_bool_value(r->
excl);
102 range_check(mrb, beg, end);
103 r->
excl = exclude_end;
131 range_init(mrb, range, beg, end, exclusive);
160 return mrb_false_value();
168 return mrb_false_value();
170 return mrb_true_value();
181 if (c == 0 || c == -1)
return TRUE;
208 if (c == 0 || c == 1)
return TRUE;
233 include_p = r_le(mrb, beg, val) &&
234 ((r->
excl && r_gt(mrb, end, val)) ||
235 (r_ge(mrb, end, val)));
237 return mrb_bool_value(include_p);
279 if (beg < 0)
return FALSE;
282 if (beg > len)
return FALSE;
283 if (end > len) end = len;
285 if (end < 0) end += len;
286 if (!r->
excl && end < len) end++;
288 if (len < 0) len = 0;
368 return mrb_false_value();
377 return mrb_false_value();
379 return mrb_true_value();