Class: Babeltrace2::BTField::Integer::Signed
Constant Summary
TYPE_MAP
Instance Attribute Summary
#handle
Instance Method Summary
collapse
#get_field_value_range, #get_preferred_display_base
from_handle, #get_class, #get_class_type
#==, #initialize, #to_ptr
Instance Method Details
#get_value ⇒ Object
Also known as:
value
218
219
220
|
# File 'lib/babeltrace2/trace-ir/field.rb', line 218
def get_value
Babeltrace2.bt_field_integer_signed_get_value(@handle)
end
|
#set_value(value) ⇒ Object
206
207
208
209
210
211
|
# 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 ⇒ Object
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
# 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) ⇒ Object
213
214
215
216
|
# File 'lib/babeltrace2/trace-ir/field.rb', line 213
def value=(value)
set_value(value)
value
end
|