* lib/matrix.rb (eql?, ==, minor): Fix bugs when comparing/returning
some empty matrices. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
87c1da091c
commit
159fd9ee6c
@ -1,3 +1,8 @@
|
||||
Sat Jun 5 13:13:30 2010 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
|
||||
|
||||
* lib/matrix.rb (eql?, ==, minor): Fix bugs when comparing/returning
|
||||
some empty matrices.
|
||||
|
||||
Sat Jun 5 11:00:48 2010 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* error.c (rb_name_err_mesg_new): guard mesg, recv and method.
|
||||
|
@ -442,7 +442,7 @@ class Matrix
|
||||
rows = @rows[from_row, size_row].collect{|row|
|
||||
row[from_col, size_col]
|
||||
}
|
||||
new_matrix rows, column_size - from_col
|
||||
new_matrix rows, [column_size - from_col, size_col].min
|
||||
end
|
||||
|
||||
#--
|
||||
@ -493,12 +493,14 @@ class Matrix
|
||||
# Returns +true+ if and only if the two matrices contain equal elements.
|
||||
#
|
||||
def ==(other)
|
||||
return false unless Matrix === other
|
||||
return false unless Matrix === other &&
|
||||
column_size == other.column_size # necessary for empty matrices
|
||||
rows == other.rows
|
||||
end
|
||||
|
||||
def eql?(other)
|
||||
return false unless Matrix === other
|
||||
return false unless Matrix === other &&
|
||||
column_size == other.column_size # necessary for empty matrices
|
||||
rows.eql? other.rows
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user