module Rserve::With2DSizes

Attributes

column_size[R]
row_size[R]

Public Instance Methods

at_2d(i,j) click to toggle source
# File lib/rserve/with2dsizes.rb, line 15
def at_2d(i,j)
  self[i + j * row_size]
end
column(j) click to toggle source
# File lib/rserve/with2dsizes.rb, line 24
def column(j)
  return nil unless (-column_size...column_size) === j
  self[(j * row_size), row_size]
end
row(i) click to toggle source
# File lib/rserve/with2dsizes.rb, line 19
def row(i)
  return nil unless (-row_size...row_size) === i
  each_slice(row_size).map {|col| col[i]}
end
sizes=(sizes) click to toggle source
# File lib/rserve/with2dsizes.rb, line 7
def sizes=(sizes)
  raise ArgumentError, "sizes must be of size 2" unless (sizes.size == 2)
  raise ArgumentError, "mismatch between provided size info and actual number of elements" unless self.size == (sizes[0] * sizes[1])
  @row_size = sizes[0]
  @column_size = sizes[1]

end