Class: LibBin::DataConverter::Scalar
- Inherits:
-
Object
- Object
- LibBin::DataConverter::Scalar
- Defined in:
- lib/libbin/data_types.rb
Direct Known Subclasses
Class Method Summary collapse
- .convert(input, output, input_big = LibBin::default_big?, output_big = !input_big,, _ = nil, _ = nil, length = nil) ⇒ Object
- .dump(value, output, output_big = LibBin::default_big?, _ = nil, _ = nil, length = nil) ⇒ Object
- .init(symbol) ⇒ Object
- .load(input, input_big = LibBin::default_big?, _ = nil, _ = nil, length = nil) ⇒ Object
- .shape(value, previous_offset = 0, _ = nil, _ = nil, kind = DataShape, length = nil) ⇒ Object
- .size(*args) ⇒ Object
Class Method Details
.convert(input, output, input_big = LibBin::default_big?, output_big = !input_big,, _ = nil, _ = nil, length = nil) ⇒ Object
379 380 381 382 383 384 385 386 |
# 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) ⇒ Object
374 375 376 377 |
# 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) ⇒ Object
361 362 363 364 365 366 |
# 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) ⇒ Object
368 369 370 371 372 |
# 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) ⇒ Object
356 357 358 359 |
# 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) ⇒ Object
352 353 354 |
# File 'lib/libbin/data_types.rb', line 352 def self.size(*args) @size end |