# File nmatrix.rb, line 188 def *(other) case other when NMatrix NVector.mul_add( NArray.refer(self).newdim!(0), other, 1 ) when NVector NArray.mul_add( NArray.refer(self), other, 0 ) # inner product when NArray if other.instance_of?(NArray) NVector.mul( NArray.refer(self), other.newdim(0) ) else other.coerce_rev( self, :* ) end when Numeric NVector.mul( NArray.refer(self), other ) else raise TypeError,"Illegal operation: NVector * %s" % other.class end end