class TTFunk::BitField

Attributes

value[R]

Public Class Methods

new(value = 0) click to toggle source
# File lib/ttfunk/bit_field.rb, line 6
def initialize(value = 0)
  @value = value
end

Public Instance Methods

dup() click to toggle source
# File lib/ttfunk/bit_field.rb, line 26
def dup
  self.class.new(value)
end
off(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 18
def off(pos)
  @value &= 2**Math.log2(value).ceil - 2**pos - 1
end
off?(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 22
def off?(pos)
  !on?(pos)
end
on(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 10
def on(pos)
  @value |= 2**pos
end
on?(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 14
def on?(pos)
  (value & 2**pos).positive?
end