[#686] Wall compilation — Michal Rokos <michal@...>
Hi everybody,
[#688] mkmf.rb - add files to clean and distclean targets — Michal Rokos <michal@...>
Hi,
On Thu, 16 Jan 2003, Michal Rokos wrote:
Hi,
Hi,
On Tue, Jan 21, 2003 at 11:16:39AM +0900, Yukihiro Matsumoto wrote:
Hi,
On Tue, Jan 21, 2003 at 06:38:00PM +0900, Yukihiro Matsumoto wrote:
Hi,
On Tue, Jan 21, 2003 at 11:37:35PM +0900, Yukihiro Matsumoto wrote:
Hi,
Hello,
Hi,
Hi,
Hi,
Hi,
[#708] Documentation for thread.rb — Gavin Sinclair <gsinclair@...>
Hi ruby-core,
[#719] nd_end and NODE_NEWLINE (fwd) — Chad Fowler <chad@...>
[#724] Symbols: More Functionality Wanted — Ryan Pavlik <rpav@...>
I've been discussing this for a bit on #ruby-lang on OPN (or freenode or
Hi,
On 20 Jan 2003 at 15:49, Yukihiro Matsumoto wrote:
Hi --
On Thursday, January 23, 2003, 6:28:04 AM, dblack wrote:
Gavin Sinclair <[email protected]> writes:
Hi,
[email protected] (Yukihiro Matsumoto) writes:
Hi,
On Fri, 24 Jan 2003 03:34:46 +0900
[#730] Comments on matrix.rb — Gavin Sinclair <gsinclair@...>
Hi -core,
[#757] Extensions for Time and ParseDate — Ryan Davis <ryand-ruby@...>
Eric and I have been hacking around and we can't stand the lack of
[#759] Adding Test::Unit to CVS — "Nathaniel Talbott" <nathaniel@...>
Matz has already given me the go-ahead to add Test::Unit to CVS, but I
Nathaniel Talbott wrote:
On Wednesday, January 22, 2003, at 07:56 AM, Dave Thomas wrote:
Comments on matrix.rb
Hi -core,
I've commented matrix.rb, and in the process made the following
observations about its implementation.
Matrix:
- initialize should be protected/private
- class methods could be wrapped in class << Matrix (matter of taste)
- the error mapping device is clumsy; why not just use normal exceptions?
- #slice would be a good alias for #minor
- it is possible to create uneven matrices (e.g. Matrix[ [1,2], [1] ].
This should be either disallowed, or at least a method should exist to
verify it. The above matrix returns true for #square?, which is
disappointing.
- in general, some more exception handling should be added. For instance,
Matrix[ [1,2], [1,2], [1,2] ].rank raises a low-level exception, not a
Matrix exception
- #compare_by_row_vectors should be private/protected
- #inverse_from should be private/protected?
- determinant of a non-square matrix should be an exception instead of 0?
- Matrix#diagonalize() should return a [M:Matrix,D:Matrix] pair such that
M*D*M.inverse == self
- ** is too slow. Using matrix diagonalisation is a more efficient algorithm
and works for all exponents, not just positive integers. Here is a more
efficient **
def ** n
m, d = diagonalize
(0...d.row_size).each { |i| d[i,i] **= n }
(m * d * m).inverse
end
Vector:
- initialize, init_elements should be private/protected
- eqn? should be eql?
- compare_by should be private/protected
- collect2 and map2 are different!
- #r should be something more normal, like #modulus (with #r an alias)
- BUG! Vector#coerce uses class Scalar, which doesn't exist in scope
Matrix::Scalar:
- what is the point of this class? (just curious)
- BUG! Scalar#** uses Matrix#powered_by
Gavin