Class: Dnsruby::Bitmap
- Inherits:
-
Object
- Object
- Dnsruby::Bitmap
- Extended by:
- Forwardable
- Defined in:
- lib/dnsruby/bitmap.rb
Overview
Instances of this class can be created that will hold on to bitmap data and be used to test bits and convert to other formats.
Where an array is used to represent bits, the first element (#0) will be the high bit and the last element will be the low (1’s column) bit.
Instance Attribute Summary collapse
-
#number ⇒ Object
This is the internal representation of the bitmap value:.
Class Method Summary collapse
-
.from_binary_string(string) ⇒ Object
Creates an instance from a binary string (e.g. “x0C”).
-
.from_bit_array(array) ⇒ Object
Creates an instance from a bit array (e.g. [1, 0, 0, 1]).
-
.from_number(number) ⇒ Object
Creates an instance from a nonnegative number.
-
.from_place_value_array(array) ⇒ Object
Creates an instance from a value array (e.g. [8, 0, 0, 1]).
-
.from_set_bit_position_array(array) ⇒ Object
Creates an instance from an array of positions for the bits that are set (e.g. [0, 3]).
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(number) ⇒ Bitmap
constructor
A new instance of Bitmap.
-
#to_binary_string(min_length = 0) ⇒ Object
Returns the instance’s value as a binary string (e.g. “x0C”).
-
#to_bit_array ⇒ Object
Returns the instance’s value as an array of bit column place values (e.g. [8, 0, 0, 1]).
-
#to_place_value_array ⇒ Object
Returns the instance’s value as an array of bit column values (e.g. [8, 0, 0, 1]).
-
#to_set_bit_position_array ⇒ Object
Returns the instance’s value as an array of positions for the bits that are set (e.g. [0, 3]).
Constructor Details
#initialize(number) ⇒ Bitmap
Returns a new instance of Bitmap.
99 100 101 102 |
# File 'lib/dnsruby/bitmap.rb', line 99 def initialize(number) BitMapping.assert_non_negative(number) @number = number end |
Instance Attribute Details
#number ⇒ Object
This is the internal representation of the bitmap value:
26 27 28 |
# File 'lib/dnsruby/bitmap.rb', line 26 def number @number end |
Class Method Details
.from_binary_string(string) ⇒ Object
Creates an instance from a binary string (e.g. “x0C”).
58 59 60 |
# File 'lib/dnsruby/bitmap.rb', line 58 def self.from_binary_string(string) new(BitMapping.binary_string_to_number(string)) end |
.from_bit_array(array) ⇒ Object
Creates an instance from a bit array (e.g. [1, 0, 0, 1])
68 69 70 |
# File 'lib/dnsruby/bitmap.rb', line 68 def self.from_bit_array(array) new(BitMapping.bit_array_to_number(array)) end |
.from_number(number) ⇒ Object
Creates an instance from a nonnegative number.
53 54 55 |
# File 'lib/dnsruby/bitmap.rb', line 53 def self.from_number(number) new(number) end |
.from_place_value_array(array) ⇒ Object
Creates an instance from a value array (e.g. [8, 0, 0, 1])
63 64 65 |
# File 'lib/dnsruby/bitmap.rb', line 63 def self.from_place_value_array(array) new(BitMapping.place_value_array_to_number(array)) end |
.from_set_bit_position_array(array) ⇒ Object
Creates an instance from an array of positions for the bits that are set (e.g. [0, 3])
73 74 75 |
# File 'lib/dnsruby/bitmap.rb', line 73 def self.from_set_bit_position_array(array) new(BitMapping.set_bit_position_array_to_number(array)) end |
Instance Method Details
#==(other) ⇒ Object
104 105 106 |
# File 'lib/dnsruby/bitmap.rb', line 104 def ==(other) other.is_a?(self.class) && other.number == self.number end |
#to_binary_string(min_length = 0) ⇒ Object
Returns the instance’s value as a binary string (e.g. “x0C”)
80 81 82 |
# File 'lib/dnsruby/bitmap.rb', line 80 def to_binary_string(min_length = 0) BitMapping.number_to_binary_string(number, min_length) end |
#to_bit_array ⇒ Object
Returns the instance’s value as an array of bit column place values (e.g. [8, 0, 0, 1])
90 91 92 |
# File 'lib/dnsruby/bitmap.rb', line 90 def to_bit_array BitMapping.number_to_bit_array(number) end |
#to_place_value_array ⇒ Object
Returns the instance’s value as an array of bit column values (e.g. [8, 0, 0, 1])
85 86 87 |
# File 'lib/dnsruby/bitmap.rb', line 85 def to_place_value_array BitMapping.number_to_place_value_array(number) end |
#to_set_bit_position_array ⇒ Object
Returns the instance’s value as an array of positions for the bits that are set (e.g. [0, 3])
95 96 97 |
# File 'lib/dnsruby/bitmap.rb', line 95 def to_set_bit_position_array BitMapping.number_to_set_bit_positions_array(number) end |