  We introduce bloomRF as a unified method for approximate membership testing
that supports both point- and range-queries on a single data structure. bloomRF
extends Bloom-Filters with range query support and may replace them. The core
idea is to employ a dyadic interval scheme to determine the set of dyadic
intervals covering a data point, which are then encoded and inserted. bloomRF
introduces Dyadic Trace-Trees as novel data structure that represents those
covering intervals implicitly. A Trace-Tree encoding scheme represents the set
of covering intervals efficiently, in a compact bit representation.
Furthermore, bloomRF introduces novel piecewise-monotone hash functions that
are locally order-preserving and thus support range querying. We present an
efficient membership computation method for range-queries. Although, bloomRF is
designed for integers it also supports string and floating-point data types. It
can also handle multiple attributes and serve as multi-attribute filter.
  We evaluate bloomRF in RocksDB and in a standalone library. bloomRF is more
efficient and outperforms existing point-range-filters by up to 4x across a
range of settings.
