[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:001293] Re: initialize mathod
堀之内です。なんどもすみません。
> def mlt(a, b) # あとで演算子 * に割り当て
> mask = a.mask | b.mask
> ac,bc = b.coerce(a)
> data = ac.data.dup # data は中身のデータを dup せずに返すとする
> data[mask] = ac.data[mask] * bc.data[mask]
> NArrayMiss.new(data, mask)
> end
というか、こう?
def mlt(a, b) # あとで演算子 * に割り当て
mask = a.mask | b.mask
ac,bc = b.coerce(a)
if(ac.is_a?(NArrayMiss))
data = ac.data.dup # data は中身のデータを dup せずに返すとする
data[mask] = ac.data[mask] * bc.data[mask]
NArrayMiss.new(data, mask)
else
ac * bc
end
end
(長いこと2項演算の定義をしてないもんで、これも怪しいかも)