Project

General

Profile

Bug #8242

Fix rdoc of Range#bsearch

Added by yhara (Yutaka HARA) about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
Backport:
[ruby-core:54143]

Description

rdoc of Range#bsearch states "the elements must be sorted", but it does not make sense for Range.

Patch:

diff --git a/range.c b/range.c
index 1e4347e..fab0718 100644
--- a/range.c
+++ b/range.c
@@ -512,11 +512,10 @@ is_integer_p(VALUE v)

  • rng.bsearch {|obj| block } -> value *
  • By using binary search, finds a value in range which meets the given
    • * condition in O(log n) where n is the size of the array.
    • * condition in O(log n) where n is the size of the range. *
  • You can use this method in two use cases: a find-minimum mode and
    • * a find-any mode. In either case, the elements of the array must be
    • * monotone (or sorted) with respect to the block.
    • * a find-any mode. *
  • In find-minimum mode (this is a good choice for typical use case),
  • the block must return true or false, and there must be a value x @@ -524,7 +523,7 @@ is_integer_p(VALUE v) *
  • - the block returns false for any value which is less than x, and
  • - the block returns true for any value which is greater than or
    • * equal to i.
    • * equal to x. *
  • If x is within the range, this method returns the value x.
  • Otherwise, it returns nil.

Associated revisions

Revision eb5f3619
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 41026
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

Revision 41026
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

Revision 41026
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

Revision 41026
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

Revision 41026
Added by zzak (Zachary Scott) almost 5 years ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

Revision 6f617028
Added by nagachika (Tomoyuki Chikanaga) almost 5 years ago

merge revision(s) 41026: [Backport #8242]

* range.c: Fix rdoc on Range#bsearch [Bug #8242] 

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

History

#1 [ruby-core:54147] Updated by marcandre (Marc-Andre Lafortune) about 5 years ago

I understood "sorted" as a synonym of "monotone". The important part is "with respect to the block".

A range can be "sorted with respect to the block", in the same way an array can.

Note that although [-1, 0, 1] is sorted (with respect to <=>), it is not sorted with respect to {|x| x.abs}, for example.

#3 [ruby-core:54887] Updated by zzak (Zachary Scott) almost 5 years ago

  • Status changed from Open to Assigned
  • Assignee changed from mame (Yusuke Endoh) to marcandre (Marc-Andre Lafortune)

#4 Updated by zzak (Zachary Scott) almost 5 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r41026.
Yutaka, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

#5 [ruby-core:55256] Updated by nagachika (Tomoyuki Chikanaga) almost 5 years ago

  • Backport set to 2.0.0: DONE

Also available in: Atom PDF