Module: Lrama::Bitmap
- Defined in:
- lib/lrama/bitmap.rb
Class Method Summary collapse
- .from_array(ary) ⇒ Object
- .from_integer(int) ⇒ Object
- .to_array(int) ⇒ Object
- .to_bool_array(int, size) ⇒ Object
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 |