Method: Fiddle::ValueUtil#signed_value
- Defined in:
- lib/fiddle/value.rb
#signed_value(val, ty) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fiddle/value.rb', line 26 def signed_value(val, ty) case ty.abs when TYPE_CHAR [val].pack("C").unpack1("c") when TYPE_SHORT [val].pack("S!").unpack1("s!") when TYPE_INT [val].pack("I!").unpack1("i!") when TYPE_LONG [val].pack("L!").unpack1("l!") else if defined?(TYPE_LONG_LONG) and ty.abs == TYPE_LONG_LONG [val].pack("Q").unpack1("q") else val end end end |