Pfx.bit
You're seeing just the function
bit
, go back to Pfx module for more information.
Specs
Returns the bit-value at given position
in pfx
.
A bit position is a 0
-based index from the left with range 0..maxlen-1
.
A negative bit position is taken relative to Pfx.maxlen
. Bits that are
masked (bit position in the range of bit_size(pfx.bits) .. pfx.maxlen - 1
)
always yield 0
.
Examples
iex> bit("1.2.0.0", 14)
1
# same bit
iex> bit("1.2.0.0", -18)
1
iex> bit("1.2.0.0/16", 14)
1
iex> bit({1, 2, 0, 0}, 14)
1
iex> bit({{1, 2, 0, 0}, 16}, 14)
1
iex> bit(%Pfx{bits: <<1, 2>>, maxlen: 32}, 14)
1
# 'masked' bits are deemed to be `0`
iex> bit("1.2.0.0/16", 24)
0
# errors out on invalid positions
iex> bit("255.255.255.255", 33)
** (ArgumentError) invalid bit position, got 33
iex> bit("10.10.0.0/16", -33)
** (ArgumentError) invalid bit position, got -33