instance method
Gem::SafeMarshal::Visitors::ToRuby#visit_Gem_SafeMarshal_Elements_Bignum
visit_Gem_SafeMarshal_Elements_Bignum(b)
lib/rubygems/safe_marshal/visitors/to_ruby.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/safe_marshal/visitors/to_ruby.rb, line 241
def visit_Gem_SafeMarshal_Elements_Bignum(b)
result = 0
b.data.each_byte.with_index do |byte, exp|
result += (byte * 2**(exp * 8))
end
case b.sign
when 43 # ?+
result
when 45 # ?-
-result
else
raise FormatError, "Unexpected sign for Bignum #{b.sign.chr.inspect} (#{b.sign})"
end
end
No documentation available