summaryrefslogtreecommitdiff
path: root/ext/-test-/integer/my_integer.c
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-18 14:52:46 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-18 14:52:46 +0000
commitb60a7b43feaed02089c158faf0bf647327ed61f0 (patch)
tree2a8ada9bacf0c11edb940a2729e708f8b6fa624b /ext/-test-/integer/my_integer.c
parent2897eb11a0d20d198a8d3f69a16c33369147749f (diff)
* numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add
treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/-test-/integer/my_integer.c')
-rw-r--r--ext/-test-/integer/my_integer.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/ext/-test-/integer/my_integer.c b/ext/-test-/integer/my_integer.c
new file mode 100644
index 00000000000..d86474bd7df
--- /dev/null
+++ b/ext/-test-/integer/my_integer.c
@@ -0,0 +1,16 @@
+#include "ruby.h"
+
+static VALUE
+my_integer_s_new(VALUE klass)
+{
+ return Data_Wrap_Struct(klass, 0, 0, 0);
+}
+
+void
+Init_my_integer(VALUE klass)
+{
+ VALUE cMyInteger;
+
+ cMyInteger = rb_define_class_under(klass, "MyInteger", rb_cInteger);
+ rb_define_singleton_method(cMyInteger, "new", my_integer_s_new, 0);
+}