Method: Matrix#+

Defined in:
lib/m500.rb

#+(nm) ⇒ Object



2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
# File 'lib/m500.rb', line 2975

def +(nm)
  a = ""
  if  not(nm.is_tr? or @tr) then
    if nm.msize == @msize and nm.nsize == @nsize then
      a= Matrix(@nsize, @msize)
      (1..@nsize).to_a.each{|x|
        (1..@msize).to_a.each{|y|
          eval("a.at_#{x}_#{y}= self.at_#{x}_#{y} + nm.at_#{x}_#{y}")
        }
      }
    else
    end
  elsif nm.is_tr? and not @tr then
    if nm.msize == @nsize and nm.nsize == @msize then
      a= Matrix(@nsize, @msize)
      (1..@nsize).to_a.each{|x|
        (1..@msize).to_a.each{|y|
          eval("a.at_#{x}_#{y}= self.at_#{x}_#{y} + nm.tr_#{x}_#{y}")
        }
      }
    else
    end
  elsif not nm.is_tr? and @tr then
    if nm.msize == @nsize and nm.nsize == @msize then
      a= Matrix(@msize, @nsize)
      (1..@msize).to_a.each{|x|
        (1..@nsize).to_a.each{|y|
          eval("a.at_#{x}_#{y}= self.tr_#{x}_#{y} + nm.at_#{x}_#{y}")
        }
      }
    else
    end
  else
  end
  return a
end