class TTFunk::BitField

Attributes

value[R]

Public Class Methods

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

Public Instance Methods

dup() click to toggle source
# File lib/ttfunk/bit_field.rb, line 27
def dup
  self.class.new(value)
end
off(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 19
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 23
def off?(pos)
  !on?(pos)
end
on(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 11
def on(pos)
  @value |= 2**pos
end
on?(pos) click to toggle source
# File lib/ttfunk/bit_field.rb, line 15
def on?(pos)
  (value & 2**pos).positive?
end