class Babeltrace2::BTField::Integer::Signed

Public Instance Methods

get_value() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 218
def get_value
  Babeltrace2.bt_field_integer_signed_get_value(@handle)
end
Also aliased as: value
set_value(value) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 206
def set_value(value)
  range = get_field_value_range
  raise "invalid range" if (1 << (range-1)) - 1 < value || value < -(1 << (range-1))
  Babeltrace2.bt_field_integer_signed_set_value(@handle, value)
  self
end
to_s() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 228
def to_s
  v = get_value
  case preferred_display_base
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY
    "0b#{(v < 0 ? get_twos_complement(v) : v).to_s(2)}"
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL
    "0#{(v < 0 ? get_twos_complement(v) : v).to_s(8)}"
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL
    v.to_s
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL
    "0x#{(v < 0 ? get_twos_complement(v) : v).to_s(16)}"
  else
    raise "invalid preffered display base"
  end
end
value()
Alias for: get_value
value=(value) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 213
def value=(value)
  set_value(value)
  value
end

Private Instance Methods

get_twos_complement(v) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 223
def get_twos_complement(v)
  (((1 << get_field_value_range) -1) ^ -v) + 1
end