class LibBin::DataConverter::Scalar

Public Class Methods

convert(input, output, input_big = LibBin::default_big?, output_big = !input_big, _ = nil, _ = nil, length = nil) click to toggle source
# File lib/libbin/data_types.rb, line 379
def self.convert(input, output, input_big = LibBin::default_big?, output_big = !input_big, _ = nil, _ = nil, length = nil)
  l = (length ? length : 1)
  str = input.read(@size*l)
  value = (input_big ? @rl_be[str, length] : @rl_le[str, length])
  str = (output_big ? @sl_be[value, length] : @sl_le[value, length])
  output.write(str)
  value
end
dump(value, output, output_big = LibBin::default_big?, _ = nil, _ = nil, length = nil) click to toggle source
# File lib/libbin/data_types.rb, line 374
def self.dump(value, output, output_big = LibBin::default_big?, _ = nil, _ = nil, length = nil)
  str = (output_big ? @sl_be[value, length] : @sl_le[value, length])
  output.write(str)
end
init(symbol) click to toggle source
# File lib/libbin/data_types.rb, line 361
def self.init(symbol)
  @symbol = symbol
  @size = DATA_SIZES[symbol]
  @rl_be, @sl_be = DATA_ENDIAN[true][symbol]
  @rl_le, @sl_le = DATA_ENDIAN[false][symbol]
end
load(input, input_big = LibBin::default_big?, _ = nil, _ = nil, length = nil) click to toggle source
# File lib/libbin/data_types.rb, line 368
def self.load(input, input_big = LibBin::default_big?, _ = nil, _ = nil, length = nil)
  l = (length ? length : 1)
  str = input.read(@size*l)
  input_big ? @rl_be[str, length] : @rl_le[str, length]
end
shape(value, previous_offset = 0, _ = nil, _ = nil, kind = DataShape, length = nil) click to toggle source
# File lib/libbin/data_types.rb, line 356
def self.shape(value, previous_offset = 0, _ = nil, _ = nil, kind = DataShape, length = nil)
  length = 1 unless length
  kind::new(previous_offset, previous_offset - 1 + length * @size)
end
size(*args) click to toggle source
# File lib/libbin/data_types.rb, line 352
def self.size(*args)
  @size
end