Pfx.bit
You're seeing just the function
bit
, go back to Pfx module for more information.
Specs
Return pfx
prefix's bit-value at given position
.
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
. A actual bit
position in the range of bit_size(pfx.bits)
..pfx.maxlen - 1
always yields
0
.
Examples
iex> bit(%Pfx{bits: <<1, 2>>, maxlen: 32}, 14)
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
# 'missing' bits inside the prefix are deemed to be `0`
iex> bit("1.2.0.0/16", 24)
0
iex> bit("1.2.0.0/16", -8) # same bit, 32 - 8 = 24
0
# errors out on invalid positions
iex> bit("255.255.255.255", 33)
** (ArgumentError) invalid bit position: 33
iex> bit("10.10.0.0/16", -33)
** (ArgumentError) invalid bit position: -33