Range tool
Go to file
2024-04-01 20:24:23 +00:00
src TD-827: add range tool 2024-01-09 14:23:49 +03:00
.gitignore TD-827: add range tool 2024-01-09 14:23:49 +03:00
LICENSE Initial commit 2024-01-09 14:02:42 +03:00
README.md TD-827: add range tool 2024-01-09 14:23:49 +03:00
rebar.config TD-827: add range tool 2024-01-09 14:23:49 +03:00
rebar.lock TD-827: add range tool 2024-01-09 14:23:49 +03:00
renovate.json Add renovate.json 2024-04-01 20:24:23 +00:00

ranger

Range tool

Usage

1> RangeMap = ranger:get_ranges(65535, 16, [0, 3, 5, 6, 11, 15]).
#{{8872,9553} => 3,
  {8190,8871} => 0,
  {18426,19107} => 6,
  {34124,34805} => 5,
  {51186,51867} => 6,
  {16380,17061} => 0,
  {19108,19789} => 11,
  {29347,30028} => 3,
  {60740,61424} => 15,
  {56645,57329} => 15,
  {38901,39582} => 6,
  {42996,43677} => 6,
  {59376,60057} => 6,
  {45045,49139} => 11,
  {55963,56644} => 11,
  {24570,28664} => 6,
  {36170,36854} => 15,
  {6141,6822} => 6,
  {36855,37536} => 0,
  {57330,58011} => 0,
  {6823,7504} => 11,
  {10236,10917} => 6,
  {11600,12284} => 15,
  {58012,58693} => 3,
  {43678,44359} => 11,
  {50504,51185} => 5,
  {32075,32759} => 15,
  {52550,53234} => 15,
  {39583,40264} => 11,...}
2> ranger:find(13765, RangeMap).
{ok,3}
3> ranger:find(137650, RangeMap).
none

65535 - upper limit of key range 16 - capacity (maximum number of subranges) [] - list of active subranges (keys from the remaining subranges will be distributed among the active ones)