[前][次][番号順一覧][スレッド一覧]

ruby-changes:72915

From: Kouhei <ko1@a...>
Date: Fri, 12 Aug 2022 15:58:02 +0900 (JST)
Subject: [ruby-changes:72915] 24e33b84b5 (master): Remove Numeric#ceildiv

https://git.ruby-lang.org/ruby.git/commit/?id=24e33b84b5

From 24e33b84b5adb29d1d2f541acfba65e225b91b55 Mon Sep 17 00:00:00 2001
From: Kouhei Yanagita <yanagi@s...>
Date: Thu, 21 Jul 2022 18:57:13 +0900
Subject: Remove Numeric#ceildiv

---
 complex.c                 |  1 -
 numeric.c                 | 26 --------------------------
 test/ruby/test_complex.rb |  1 -
 test/ruby/test_numeric.rb | 14 --------------
 4 files changed, 42 deletions(-)

diff --git a/complex.c b/complex.c
index 865466c499..d625ced7fa 100644
--- a/complex.c
+++ b/complex.c
@@ -2335,7 +2335,6 @@ Init_Complex(void) https://github.com/ruby/ruby/blob/trunk/complex.c#L2335
     rb_undef_method(rb_cComplex, "%");
     rb_undef_method(rb_cComplex, "div");
     rb_undef_method(rb_cComplex, "divmod");
-    rb_undef_method(rb_cComplex, "ceildiv");
     rb_undef_method(rb_cComplex, "floor");
     rb_undef_method(rb_cComplex, "ceil");
     rb_undef_method(rb_cComplex, "modulo");
diff --git a/numeric.c b/numeric.c
index df0c016b9e..9574bfe024 100644
--- a/numeric.c
+++ b/numeric.c
@@ -656,31 +656,6 @@ num_div(VALUE x, VALUE y) https://github.com/ruby/ruby/blob/trunk/numeric.c#L656
     return rb_funcall(num_funcall1(x, '/', y), rb_intern("floor"), 0);
 }
 
-/*
- *  call-seq:
- *    ceildiv(other) -> integer
- *
- *  Returns the quotient <tt>self/other</tt> as an integer, rounding up to the nearest integer.
- *  This method uses method +/+ in the derived class of +self+.
- *  (\Numeric itself does not define method +/+.)
- *
- *  Of the Core and Standard Library classes,
- *  Float and Rational use this implementation.
- *
- *    3.0.ceildiv(3.0) # => 1
- *    4.0.ceildiv(3.0) # => 2
- *
- *    4.0.ceildiv(-3.0) # => -1
- *    -4.0.ceildiv(3.0) # => -1
- *    -4.0.ceildiv(-3.0) # => 2
- */
-static VALUE
-num_ceildiv(VALUE x, VALUE y)
-{
-    VALUE tmp = num_div(x, num_uminus(y));
-    return num_uminus(tmp);
-}
-
 /*
  *  call-seq:
  *    self % other -> real_numeric
@@ -6247,7 +6222,6 @@ Init_Numeric(void) https://github.com/ruby/ruby/blob/trunk/numeric.c#L6222
     rb_define_method(rb_cNumeric, "<=>", num_cmp, 1);
     rb_define_method(rb_cNumeric, "eql?", num_eql, 1);
     rb_define_method(rb_cNumeric, "fdiv", num_fdiv, 1);
-    rb_define_method(rb_cNumeric, "ceildiv", num_ceildiv, 1);
     rb_define_method(rb_cNumeric, "div", num_div, 1);
     rb_define_method(rb_cNumeric, "divmod", num_divmod, 1);
     rb_define_method(rb_cNumeric, "%", num_modulo, 1);
diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb
index 5cf52e812e..a3a7546575 100644
--- a/test/ruby/test_complex.rb
+++ b/test/ruby/test_complex.rb
@@ -915,7 +915,6 @@ class Complex_Test < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_complex.rb#L915
     assert_not_respond_to(c, :%)
     assert_not_respond_to(c, :div)
     assert_not_respond_to(c, :divmod)
-    assert_not_respond_to(c, :ceildiv)
     assert_not_respond_to(c, :floor)
     assert_not_respond_to(c, :ceil)
     assert_not_respond_to(c, :modulo)
diff --git a/test/ruby/test_numeric.rb b/test/ruby/test_numeric.rb
index 068f9a56eb..0593cb535d 100644
--- a/test/ruby/test_numeric.rb
+++ b/test/ruby/test_numeric.rb
@@ -482,18 +482,4 @@ class TestNumeric < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_numeric.rb#L482
     assert_equal(0, -2.pow(3, 1))
   end
 
-  def test_ceildiv
-    assert_equal(0, 0.0.ceildiv(3.0))
-    assert_equal(1, 1.0.ceildiv(3.0))
-    assert_equal(1, 3.0.ceildiv(3.0))
-    assert_equal(2, 4.0.ceildiv(3.0))
-
-    assert_equal(-1, 4.0.ceildiv(-3.0))
-    assert_equal(-1, -4.0.ceildiv(3.0))
-    assert_equal(2, -4.0.ceildiv(-3.0))
-
-    assert_equal(3, 3.0.ceildiv(1.2))
-    assert_equal(3, 3.0.ceildiv(6/5r))
-    assert_equal(3, (7r/2).ceildiv(6/5r))
-  end
 end
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]