# File narray_ext.rb, line 245
  def reverse(*ranks)
    if self.rank==0
      return self.dup
    elsif ranks.size==0
      idx = (0...self.rank).map{-1..0}
    else
      idx = [true]*self.rank
      ranks.each do |i|
        if !i.kind_of?(Integer)
          raise ArgumentError, "Argument must be Integer"
        end
        if i >= self.rank
          raise ArgumentError, "dimension(%s) out of range"%[i]
        end
        idx[i] = -1..0
      end
    end
    self[*idx]
  end