lib/ipaddress/extensions/extensions.rb in ipaddress-0.5.0 vs lib/ipaddress/extensions/extensions.rb in ipaddress-0.6.0
- old
+ new
@@ -1,15 +1,21 @@
class << Math
def log2(n); log(n) / log(2); end
end
+if RUBY_VERSION =~ /1\.8/
+ class Hash
+ alias :key :index
+ end
+end
+
class Integer
def power_of_2?
Math::log2(self).to_i == Math::log2(self)
end
- def closest_power_of_2
- self.upto(32) do |i|
+ def closest_power_of_2(limit=32)
+ self.upto(limit) do |i|
return i if i.power_of_2?
end
end
end