class Integer

Public Instance Methods

byte() click to toggle source
# File app/core/util.rb, line 19
def byte
  overflow(self.to_i, 2 ** 7)
end
int() click to toggle source
# File app/core/util.rb, line 35
def int
  overflow(self.to_i, 2 ** 31)
end
long() click to toggle source
# File app/core/util.rb, line 43
def long
  overflow(self.to_i, 2 ** 64)
end
nibble() click to toggle source
# File app/core/util.rb, line 15
def nibble
  overflow(self.to_i & 0xf, 2 ** 4)
end
overflow(i, e = 2 ** 31) click to toggle source
# File app/core/util.rb, line 2
def overflow(i, e = 2 ** 31)
  f = (Math.log(e) / Math.log(2)).to_i+1
  g = (2 ** f) - 1
       
  if i < -e
    i & g
  elsif i > e - 1
    -(-(i) & g)
  else 
    i
  end
end
short() click to toggle source
# File app/core/util.rb, line 27
def short
  overflow(self.to_i, 2 ** 15)
end
ubyte() click to toggle source
# File app/core/util.rb, line 23
def ubyte
  overflow(self.to_i & 0xff, 2 ** 8)
end
uint() click to toggle source
# File app/core/util.rb, line 39
def uint
  overflow(self.to_i & 0xffffffff, 2 ** 32)
end
ulong() click to toggle source
# File app/core/util.rb, line 47
def ulong
  overflow(self.to_i & 0xffffffffffffffff, 2 ** 64)
end
ushort() click to toggle source
# File app/core/util.rb, line 31
def ushort
  overflow(self.to_i & 0xffff, 2 ** 16)
end