Method: NArray#rank_total

Defined in:
lib/narray_ext.rb

#rank_total(*ranks) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/narray_ext.rb', line 41

def rank_total(*ranks)
  if ranks.size>0
    idx = []
    ranks.each{|i| idx.push(*i)}
    # ranks is expected to be, e.g., [1, 3..5, 7]
    a = self.shape
    n = 1
    idx.each{|i| n *= a[i]}
    n
  else
    self.total
  end
end