myl7/fss 2.0.0
Function secret sharing (FSS) primitives including distributed point/comparison function (DPF/DCF)
Loading...
Searching...
No Matches
fss::ValidForInputBits Concept Reference

Unsigned input storage wide enough for an input domain of in_bits bits. More...

Concept definition

template<typename In, int in_bits>
in_bits >= 1 &&
!std::is_same_v<std::remove_cv_t<In>, bool> &&
(std::is_unsigned_v<In> || std::is_same_v<In, __uint128_t>) &&
in_bits <= sizeof(In) * 8
Unsigned input storage wide enough for an input domain of in_bits bits.
Definition constraints.cuh:29

Detailed Description

Unsigned input storage wide enough for an input domain of in_bits bits.

in_bits must be at least 1: a zero-bit input domain has no inputs, so it is rejected instead of supported. bool is excluded even though standard type traits classify it as unsigned. __uint128_t is accepted explicitly because standard type traits do not recognize it as unsigned in every compiler mode. Schemes impose their additional algorithm-specific bit-size restrictions. This constraint does not require the full domain to fit in memory.

Template Parameters
InInput storage type.
in_bitsInput domain bit size.