Class: Google::Cloud::Firestore::V1::BitSequence
- Inherits:
-
Object
- Object
- Google::Cloud::Firestore::V1::BitSequence
- Extended by:
- Protobuf::MessageExts::ClassMethods
- Includes:
- Protobuf::MessageExts
- Defined in:
- proto_docs/google/firestore/v1/bloom_filter.rb
Overview
A sequence of bits, encoded in a byte array.
Each byte in the bitmap
byte array stores 8 bits of the sequence. The only
exception is the last byte, which may store 8 or fewer bits. The padding
defines the number of bits of the last byte to be ignored as "padding". The
values of these "padding" bits are unspecified and must be ignored.
To retrieve the first bit, bit 0, calculate: (bitmap[0] & 0x01) != 0
.
To retrieve the second bit, bit 1, calculate: (bitmap[0] & 0x02) != 0
.
To retrieve the third bit, bit 2, calculate: (bitmap[0] & 0x04) != 0
.
To retrieve the fourth bit, bit 3, calculate: (bitmap[0] & 0x08) != 0
.
To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))) != 0
.
The "size" of a BitSequence
(the number of bits it contains) is calculated
by this formula: (bitmap.length * 8) - padding
.
Instance Attribute Summary collapse
-
#bitmap ⇒ ::String
The bytes that encode the bit sequence.
-
#padding ⇒ ::Integer
The number of bits of the last byte in
bitmap
to ignore as "padding".
Instance Attribute Details
#bitmap ⇒ ::String
Returns The bytes that encode the bit sequence. May have a length of zero.
48 49 50 51 |
# File 'proto_docs/google/firestore/v1/bloom_filter.rb', line 48 class BitSequence include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#padding ⇒ ::Integer
Returns The number of bits of the last byte in bitmap
to ignore as "padding".
If the length of bitmap
is zero, then this value must be 0
.
Otherwise, this value must be between 0 and 7, inclusive.
48 49 50 51 |
# File 'proto_docs/google/firestore/v1/bloom_filter.rb', line 48 class BitSequence include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |