12#include <cereal/access.hpp>
13#include <cereal/cereal.hpp>
15#include <hibf/misc/insert_iterator.hpp>
355 friend class cereal::access;
357 static constexpr uint32_t version{2};
359 template <
typename archive_t>
360 void serialize(archive_t & archive)
362 uint32_t parsed_version{version};
363 archive(cereal::make_nvp(
"version", parsed_version));
372 archive(CEREAL_NVP(
tmax));
374 if (parsed_version > 1u)
377 archive(CEREAL_NVP(
alpha));
Definition insert_iterator.hpp:25
The configuration used to build an (H)IBF.
Definition config.hpp:75
uint8_t sketch_bits
The number of bits for HyperLogLog sketches.
Definition config.hpp:213
void validate_and_set_defaults()
Checks several variables of seqan::hibf::config and sets default values if necessary.
size_t number_of_hash_functions
The number of hash functions for the underlying Bloom Filters.
Definition config.hpp:135
double maximum_fpr
The desired maximum false positive rate of the underlying Bloom Filters. [RECOMMENDED_TO_ADAPT].
Definition config.hpp:153
double empty_bin_fraction
The percentage of empty bins in the layout.
Definition config.hpp:249
bool disable_estimate_union
Whether to disable union estimate of user bins to improve the layout.
Definition config.hpp:291
double alpha
A scaling factor to influence the amount of merged bins produced by the layout algorithm.
Definition config.hpp:266
bool disable_rearrangement
Whether to disable rearranging user bins based on their content similarity.
Definition config.hpp:302
size_t number_of_user_bins
The number of user bins.
Definition config.hpp:123
constexpr bool operator==(config const &other) const
Two configs are equal if all options, except seqan::hibf::config::input_fn, are equal.
Definition config.hpp:337
double relaxed_fpr
Allow a higher FPR in non-accuracy-critical parts of the HIBF structure.
Definition config.hpp:181
size_t threads
The number of threads to use during construction. [RECOMMENDED_TO_ADAPT].
Definition config.hpp:194
std::function< void(size_t const, insert_iterator &&) input_fn)
A function for how to hash your input [REQUIRED].
Definition config.hpp:110
double max_rearrangement_ratio
The maximal cardinality ratio in the clustering intervals of the layout rearrangement algorithm.
Definition config.hpp:280
size_t tmax
The maximum number of technical bins of each IBF in the HIBF.
Definition config.hpp:232