Module: Lrama::Bitmap

Defined in:
lib/lrama/bitmap.rb

Class Method Summary collapse

Class Method Details

.from_array(ary) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/lrama/bitmap.rb', line 10

def self.from_array(ary)
  bit = 0

  ary.each do |int|
    bit |= (1 << int)
  end

  bit
end

.from_integer(int) ⇒ Object



21
22
23
# File 'lib/lrama/bitmap.rb', line 21

def self.from_integer(int)
  1 << int
end

.to_array(int) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/lrama/bitmap.rb', line 26

def self.to_array(int)
  a = [] #: Array[Integer]
  i = 0

  len = int.bit_length
  while i < len do
    if int[i] == 1
      a << i
    end

    i += 1
  end

  a
end

.to_bool_array(int, size) ⇒ Object



43
44
45
# File 'lib/lrama/bitmap.rb', line 43

def self.to_bool_array(int, size)
  Array.new(size) { |i| int[i] == 1 }
end