From: ts Date: 2001-12-16T22:12:28+09:00 Subject: [ruby-talk:28673] Re: Matrix#inverse broken? >>>>> "J" == Joel VanderWerf writes: J> m * (m.inv) This is unrelated but pigeon% ./ruby -ve 'require "matrix"; Matrix[[2,2],[2,2]].inv' ruby 1.7.2 (2001-12-13) [i686-linux] /home/ts/local/r17/lib/ruby/1.7/matrix.rb:515:in `inverse_from'/home/ts/local/r17/lib /ruby/1.7/e2mmap.rb:167: [BUG] Segmentation fault ruby 1.7.2 (2001-12-13) [i686-linux] Aborted pigeon% pigeon% diff -u variable.c.old variable.c --- variable.c.old Sun Dec 16 14:00:19 2001 +++ variable.c Sun Dec 16 14:02:04 2001 @@ -129,6 +129,9 @@ st_foreach(rb_class_tbl, fc_i, &arg); } if (arg.path) { + if (!ROBJECT(klass)->iv_tbl) { + ROBJECT(klass)->iv_tbl = st_init_numtable(); + } st_insert(ROBJECT(klass)->iv_tbl,rb_intern("__classpath__"),arg.path); return arg.path; } pigeon% pigeon% ./ruby -ve 'require "matrix"; Matrix[[2,2],[2,2]].inv' ruby 1.7.2 (2001-12-13) [i686-linux] /home/ts/local/r17/lib/ruby/1.7/matrix.rb:515:in `inverse_from': Not Regular Matrix ( ExceptionForMatrix::ErrNotRegular) from /home/ts/local/r17/lib/ruby/1.7/matrix.rb:511:in `each' from /home/ts/local/r17/lib/ruby/1.7/matrix.rb:511:in `inverse_from' from /home/ts/local/r17/lib/ruby/1.7/matrix.rb:503:in `inverse' from -e:1 pigeon% Guy Decoux