Class: Protobuf::Field::FloatField
Instance Attribute Summary
Attributes inherited from BaseField
#default, #default_value, #extension, #message_class, #name, #rule, #tag, #type
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from BaseField
descriptor, #descriptor, #initialize, #initialized?, #max, #merge, #min, #optional?, #packed?, #ready?, #repeated?, #required?, #to_s
Class Method Details
.default ⇒ Object
456
|
# File 'lib/protobuf/message/field.rb', line 456
def self.default; 0.0; end
|
.max ⇒ Object
457
|
# File 'lib/protobuf/message/field.rb', line 457
def self.max; 1.0/0; end
|
.min ⇒ Object
458
|
# File 'lib/protobuf/message/field.rb', line 458
def self.min; -1.0/0; end
|
Instance Method Details
#acceptable?(val) ⇒ Boolean
472
473
474
475
476
|
# File 'lib/protobuf/message/field.rb', line 472
def acceptable?(val)
raise TypeError, val.class.name unless val.is_a?(Numeric)
raise RangeError if val < min || max < val
true
end
|
#decode(bytes) ⇒ Object
464
465
466
|
# File 'lib/protobuf/message/field.rb', line 464
def decode(bytes)
bytes.unpack('e').first
end
|
#encode(value) ⇒ Object
468
469
470
|
# File 'lib/protobuf/message/field.rb', line 468
def encode(value)
[value].pack('e')
end
|
#wire_type ⇒ Object
460
461
462
|
# File 'lib/protobuf/message/field.rb', line 460
def wire_type
WireType::FIXED32
end
|