15#include "internal/error.h"
43invcmp_recursive(
VALUE x,
VALUE y,
int recursive)
45 if (recursive)
return Qnil;
63cmp_eq_recursive(
VALUE arg1,
VALUE arg2,
int recursive)
65 if (recursive)
return Qnil;
66 return rb_cmp(arg1, arg2);
82 if (x == y)
return Qtrue;
108 if (cmpint(x, y) > 0)
return Qtrue;
123 if (cmpint(x, y) >= 0)
return Qtrue;
138 if (cmpint(x, y) < 0)
return Qtrue;
153 if (cmpint(x, y) <= 0)
return Qtrue;
175 if (cmpint(x, min) < 0)
return Qfalse;
244 if (c == 0)
return x;
245 if (c < 0)
return min;
249 if (c > 0)
return max;
VALUE rb_invcmp(VALUE x, VALUE y)
void Init_Comparable(void)
void rb_cmperr(VALUE x, VALUE y)
#define rb_define_method(klass, mid, func, arity)
Defines klass#mid.
#define range(low, item, hi)
#define rb_cmpint(cmp, a, b)
VALUE rb_define_module(const char *name)
int rb_scan_args(int argc, const VALUE *argv, const char *fmt,...)
void rb_raise(VALUE exc, const char *fmt,...)
const char * rb_builtin_class_name(VALUE x)
VALUE rb_obj_class(VALUE)
VALUE rb_inspect(VALUE)
Convenient wrapper of Object::inspect.
int rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp)
VALUE rb_exec_recursive_paired_outer(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE, VALUE)
VALUE rb_exec_recursive(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE)
Internal header for Comparable.
Internal header for RubyVM.