summaryrefslogtreecommitdiff
path: root/numeric.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-07 08:41:59 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-07 08:41:59 +0000
commitda32ce1a67677bd0f5df8fa31e0ab05c26c7d401 (patch)
tree88fbca16ba3c3b802990d969a13a57ec67bb3ab0 /numeric.c
parente122cca1791b38e089776bfeb39f0bd1d07afdae (diff)
* sprintf.c (rb_f_sprintf): [ruby-dev:27967]
* range.c (range_include): use discrete membership for non Numeric values, for example, String. * numeric.c (num_scalar_p): new method. [ruby-dev:27936] * lib/complex.rb (Complex#scalar?): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r--numeric.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/numeric.c b/numeric.c
index 08685718a4..91e7dfc1e7 100644
--- a/numeric.c
+++ b/numeric.c
@@ -350,6 +350,20 @@ num_remainder(VALUE x, VALUE y)
/*
* call-seq:
+ * num.scalar? -> true or false
+ *
+ * Returns <code>true</code> if <i>num</i> is an <code>Scalar</code>
+ * (i.e. non <code>Complex</code>).
+ */
+
+static VALUE
+num_scalar_p(VALUE num)
+{
+ return Qtrue;
+}
+
+/*
+ * call-seq:
* num.integer? -> true or false
*
* Returns <code>true</code> if <i>num</i> is an <code>Integer</code>
@@ -2806,6 +2820,7 @@ Init_Numeric(void)
rb_define_method(rb_cNumeric, "abs", num_abs, 0);
rb_define_method(rb_cNumeric, "to_int", num_to_int, 0);
+ rb_define_method(rb_cNumeric, "scalar?", num_scalar_p, 0);
rb_define_method(rb_cNumeric, "integer?", num_int_p, 0);
rb_define_method(rb_cNumeric, "zero?", num_zero_p, 0);
rb_define_method(rb_cNumeric, "nonzero?", num_nonzero_p, 0);