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=(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