Exemplo n.º 1
0
inline static VALUE
f_rational_new2(VALUE klass, VALUE x, VALUE y)
{
    assert(!k_rational_p(x));
    assert(!k_rational_p(y));
    return nurat_s_canonicalize_internal(klass, x, y);
}
Exemplo n.º 2
0
static VALUE
nurat_s_new(VALUE klass, VALUE num, VALUE den)
{
    nurat_int_check(num);
    nurat_int_check(den);

    return nurat_s_canonicalize_internal(klass, num, den);
}
Exemplo n.º 3
0
static VALUE
nurat_s_canonicalize(int argc, VALUE *argv, VALUE klass)
{
    VALUE num, den;

    if (rb_scan_args(argc, argv, "11", &num, &den) == 1) {
	den = ONE;
    }

    nurat_int_check(num);
    nurat_int_check(den);

    return nurat_s_canonicalize_internal(klass, num, den);
}
Exemplo n.º 4
0
static VALUE
nurat_s_new(int argc, VALUE *argv, VALUE klass)
{
    VALUE num, den;

    switch (rb_scan_args(argc, argv, "11", &num, &den)) {
      case 1:
	num = nurat_int_value(num);
	den = ONE;
	break;
      default:
	num = nurat_int_value(num);
	den = nurat_int_value(den);
	break;
    }

    return nurat_s_canonicalize_internal(klass, num, den);
}
Exemplo n.º 5
0
inline static VALUE
f_rational_new1(VALUE klass, VALUE x)
{
    assert(!k_rational_p(x));
    return nurat_s_canonicalize_internal(klass, x, ONE);
}
Exemplo n.º 6
0
VALUE
rb_rational_new(VALUE x, VALUE y)
{
    return nurat_s_canonicalize_internal(rb_cRational, x, y);
}