#ifndef LIBDPF_TEST_TESTS_HELPERS_EVAL_COMMON_DATA_HPP__ #define LIBDPF_TEST_TESTS_HELPERS_EVAL_COMMON_DATA_HPP__ #include "custom_input_type.hpp" #include "custom_output_type_small.hpp" #include "custom_output_type_large_plus_minus.hpp" #include "custom_output_type_large_xor.hpp" #include "domain_walk.hpp" template using test_type = std::tuple; template using param_type = std::vector>; using dpf::literals::operator""_bitstring; using dpf::literals::operator""_bitstring_8; static std::tuple < // base test param_type, // test input types param_type, param_type, param_type, param_type, param_type, param_type, uint64_t>, param_type, uint64_t>, param_type, uint64_t>, param_type, uint64_t>, param_type, uint64_t>, // test output types param_type, param_type, param_type, param_type, param_type, param_type>, param_type>, param_type>, param_type>, param_type, param_type, param_type, param_type, param_type, param_type, param_type, // custom types param_type, param_type, param_type, param_type > allParams { { std::make_tuple(uint16_t(0x0000), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x0000), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x0000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x0000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x5555), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x5555), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x5555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x5555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x7FFF), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x7FFF), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x7FFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x7FFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x8000), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x8000), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x8000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x8000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xAAAA), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0xAAAA), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0xAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xFFFF), uint64_t(0x0000000000000001)), std::make_tuple(uint16_t(0xFFFF), uint64_t(0x5555555555555555)), std::make_tuple(uint16_t(0xFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(int16_t(0x0000), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0x0000), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0x0000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0x0000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(int16_t(0x5555), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0x5555), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0x5555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0x5555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(int16_t(0x7FFF), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0x7FFF), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0x7FFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0x7FFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(int16_t(0x8000), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0x8000), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0x8000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0x8000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(int16_t(0xAAAA), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0xAAAA), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0xAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0xAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(int16_t(0xFFFF), uint64_t(0x0000000000000001)), std::make_tuple(int16_t(0xFFFF), uint64_t(0x5555555555555555)), std::make_tuple(int16_t(0xFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(int16_t(0xFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint8_t(0x00), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0x00), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0x00), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0x00), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint8_t(0x55), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0x55), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0x55), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0x55), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint8_t(0x7F), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0x7F), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0x7F), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0x7F), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint8_t(0x80), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0x80), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0x80), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0x80), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint8_t(0xAA), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0xAA), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0xAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0xAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint8_t(0xFF), uint64_t(0x0000000000000001)), std::make_tuple(uint8_t(0xFF), uint64_t(0x5555555555555555)), std::make_tuple(uint8_t(0xFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint8_t(0xFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint64_t(0x0000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0x0000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0x0000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0x0000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint64_t(0x5555555555555555), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0x5555555555555555), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0x5555555555555555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0x5555555555555555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint64_t(0x7FFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0x7FFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0x7FFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0x7FFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint64_t(0X8000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0X8000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0X8000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0X8000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint64_t(0xAAAAAAAAAAAAAAAA), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0xAAAAAAAAAAAAAAAA), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0xAAAAAAAAAAAAAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0xAAAAAAAAAAAAAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint64_t(0xFFFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(uint64_t(0xFFFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(uint64_t(0xFFFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint64_t(0xFFFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_int128(0x7FFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0x7FFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0x7FFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0x7FFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_int128(0x8000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0x8000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0x8000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0x8000000000000000) << 64 | simde_int128(0x0000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_uint128(0x7FFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0x7FFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0x7FFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0x7FFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_uint128(0x8000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0x8000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0x8000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0x8000000000000000) << 64 | simde_uint128(0x0000000000000000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0x0000000000000001)), std::make_tuple(simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0x5555555555555555)), std::make_tuple(simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(0000000000_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(0000000000_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(0000000000_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(0000000000_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(0101010101_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(0101010101_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(0101010101_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(0101010101_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(0111111111_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(0111111111_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(0111111111_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(0111111111_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(1000000000_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(1000000000_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(1000000000_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(1000000000_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(1010101010_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(1010101010_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(1010101010_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(1010101010_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(1111111111_bitstring, uint64_t(0x0000000000000001)), std::make_tuple(1111111111_bitstring, uint64_t(0x5555555555555555)), std::make_tuple(1111111111_bitstring, uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(1111111111_bitstring, uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("000"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("000"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("000"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("000"), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("555"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("555"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("555"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("555"), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("7ff"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("7ff"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("7ff"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("7ff"), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("800"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("800"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("800"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("800"), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("aaa"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("aaa"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("aaa"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("aaa"), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("fff"), uint64_t(0x0000000000000001)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("fff"), uint64_t(0x5555555555555555)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("fff"), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::keyword<3, dpf::alphabets::hex>("fff"), uint64_t(0xFFFFFFFFFFFFFFFF)), }, { std::make_tuple(dpf::modint<10>(0x000), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x000), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::modint<10>(0x155), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x155), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x155), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x155), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::modint<10>(0x1FF), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x1FF), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x1FF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x1FF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::modint<10>(0x200), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x200), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x200), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x200), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::modint<10>(0x2AA), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x2AA), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x2AA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x2AA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::modint<10>(0x3FF), uint64_t(0x0000000000000001)), std::make_tuple(dpf::modint<10>(0x3FF), uint64_t(0x5555555555555555)), std::make_tuple(dpf::modint<10>(0x3FF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::modint<10>(0x3FF), uint64_t(0xFFFFFFFFFFFFFFFF)), }, { std::make_tuple(dpf::xor_wrapper(int16_t(0x0000)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0x0000)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0x0000)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0x0000)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(int16_t(0x5555)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0x5555)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0x5555)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0x5555)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(int16_t(0x7FFF)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0x7FFF)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0x7FFF)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0x7FFF)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(int16_t(0x8000)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0x8000)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0x8000)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0x8000)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(int16_t(0xAAAA)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0xAAAA)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0xAAAA)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0xAAAA)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(int16_t(0xFFFF)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(int16_t(0xFFFF)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(int16_t(0xFFFF)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(int16_t(0xFFFF)), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(dpf::xor_wrapper(uint16_t(0x0000)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x0000)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x0000)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x0000)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x5555)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x5555)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x5555)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x5555)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x7FFF)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x7FFF)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x7FFF)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x7FFF)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x8000)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x8000)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x8000)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0x8000)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xAAAA)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xAAAA)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xAAAA)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xAAAA)), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xFFFF)), uint64_t(0x0000000000000001)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xFFFF)), uint64_t(0x5555555555555555)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xFFFF)), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(dpf::xor_wrapper(uint16_t(0xFFFF)), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint16_t(0x0000), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x0000), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x0000), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x0000), int64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x5555), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x5555), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x5555), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x5555), int64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x7FFF), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x7FFF), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x7FFF), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x7FFF), int64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x8000), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0x8000), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0x8000), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x8000), int64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xAAAA), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0xAAAA), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0xAAAA), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xAAAA), int64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xFFFF), int64_t(0x0000000000000001)), std::make_tuple(uint16_t(0xFFFF), int64_t(0x5555555555555555)), std::make_tuple(uint16_t(0xFFFF), int64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xFFFF), int64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint16_t(0x0000), uint8_t(0x01)), std::make_tuple(uint16_t(0x0000), uint8_t(0x55)), std::make_tuple(uint16_t(0x0000), uint8_t(0xAA)), std::make_tuple(uint16_t(0x0000), uint8_t(0xFF)), std::make_tuple(uint16_t(0x5555), uint8_t(0x01)), std::make_tuple(uint16_t(0x5555), uint8_t(0x55)), std::make_tuple(uint16_t(0x5555), uint8_t(0xAA)), std::make_tuple(uint16_t(0x5555), uint8_t(0xFF)), std::make_tuple(uint16_t(0x7FFF), uint8_t(0x01)), std::make_tuple(uint16_t(0x7FFF), uint8_t(0x55)), std::make_tuple(uint16_t(0x7FFF), uint8_t(0xAA)), std::make_tuple(uint16_t(0x7FFF), uint8_t(0xFF)), std::make_tuple(uint16_t(0x8000), uint8_t(0x01)), std::make_tuple(uint16_t(0x8000), uint8_t(0x55)), std::make_tuple(uint16_t(0x8000), uint8_t(0xAA)), std::make_tuple(uint16_t(0x8000), uint8_t(0xFF)), std::make_tuple(uint16_t(0xAAAA), uint8_t(0x01)), std::make_tuple(uint16_t(0xAAAA), uint8_t(0x55)), std::make_tuple(uint16_t(0xAAAA), uint8_t(0xAA)), std::make_tuple(uint16_t(0xAAAA), uint8_t(0xFF)), std::make_tuple(uint16_t(0xFFFF), uint8_t(0x01)), std::make_tuple(uint16_t(0xFFFF), uint8_t(0x55)), std::make_tuple(uint16_t(0xFFFF), uint8_t(0xAA)), std::make_tuple(uint16_t(0xFFFF), uint8_t(0xFF)) }, { std::make_tuple(uint16_t(0x0000), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0x0000), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0x0000), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x0000), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x5555), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0x5555), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0x5555), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x5555), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x7FFF), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0x7FFF), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0x7FFF), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x7FFF), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x8000), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0x8000), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0x8000), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x8000), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xAAAA), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0xAAAA), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0xAAAA), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xAAAA), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xFFFF), simde_int128(0x0000000000000000) << 64 | simde_int128(0x0000000000000001)), std::make_tuple(uint16_t(0xFFFF), simde_int128(0x5555555555555555) << 64 | simde_int128(0x5555555555555555)), std::make_tuple(uint16_t(0xFFFF), simde_int128(0xAAAAAAAAAAAAAAAA) << 64 | simde_int128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xFFFF), simde_int128(0xFFFFFFFFFFFFFFFF) << 64 | simde_int128(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint16_t(0x0000), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0x0000), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0x0000), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x0000), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x5555), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0x5555), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0x5555), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x5555), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x7FFF), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0x7FFF), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0x7FFF), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x7FFF), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0x8000), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0x8000), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0x8000), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0x8000), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xAAAA), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0xAAAA), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0xAAAA), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xAAAA), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)), std::make_tuple(uint16_t(0xFFFF), simde_uint128(0x0000000000000000) << 64 | simde_uint128(0x0000000000000001)), std::make_tuple(uint16_t(0xFFFF), simde_uint128(0x5555555555555555) << 64 | simde_uint128(0x5555555555555555)), std::make_tuple(uint16_t(0xFFFF), simde_uint128(0xAAAAAAAAAAAAAAAA) << 64 | simde_uint128(0xAAAAAAAAAAAAAAAA)), std::make_tuple(uint16_t(0xFFFF), simde_uint128(0xFFFFFFFFFFFFFFFF) << 64 | simde_uint128(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint16_t(0x0000), dpf::bit::one), std::make_tuple(uint16_t(0x5555), dpf::bit::one), std::make_tuple(uint16_t(0x7FFF), dpf::bit::one), std::make_tuple(uint16_t(0x8000), dpf::bit::one), std::make_tuple(uint16_t(0xAAAA), dpf::bit::one), std::make_tuple(uint16_t(0xFFFF), dpf::bit::one) }, { std::make_tuple(uint16_t(0x0000), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0x0000), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0x0000), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0x0000), 11111111111111111111_bitstring_8), std::make_tuple(uint16_t(0x5555), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0x5555), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0x5555), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0x5555), 11111111111111111111_bitstring_8), std::make_tuple(uint16_t(0x7FFF), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0x7FFF), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0x7FFF), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0x7FFF), 11111111111111111111_bitstring_8), std::make_tuple(uint16_t(0x8000), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0x8000), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0x8000), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0x8000), 11111111111111111111_bitstring_8), std::make_tuple(uint16_t(0xAAAA), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0xAAAA), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0xAAAA), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0xAAAA), 11111111111111111111_bitstring_8), std::make_tuple(uint16_t(0xFFFF), 00000000000000000001_bitstring_8), std::make_tuple(uint16_t(0xFFFF), 01010101010101010101_bitstring_8), std::make_tuple(uint16_t(0xFFFF), 10101010101010101010_bitstring_8), std::make_tuple(uint16_t(0xFFFF), 11111111111111111111_bitstring_8) }, { std::make_tuple(uint16_t(0x0000), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0x0000), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0x0000), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0x0000), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring), std::make_tuple(uint16_t(0x5555), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0x5555), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0x5555), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0x5555), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring), std::make_tuple(uint16_t(0x7FFF), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0x7FFF), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0x7FFF), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0x7FFF), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring), std::make_tuple(uint16_t(0x8000), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0x8000), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0x8000), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0x8000), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring), std::make_tuple(uint16_t(0xAAAA), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0xAAAA), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0xAAAA), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0xAAAA), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring), std::make_tuple(uint16_t(0xFFFF), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_bitstring), std::make_tuple(uint16_t(0xFFFF), 010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101_bitstring), std::make_tuple(uint16_t(0xFFFF), 101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010_bitstring), std::make_tuple(uint16_t(0xFFFF), 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111_bitstring) }, { std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(int64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(int64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(int64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(int64_t(0xFFFFFFFFFFFFFFFF))) }, { std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper(uint64_t(0xFFFFFFFFFFFFFFFF))) }, { std::make_tuple(uint16_t(0x0000), dpf::gf2{1}), std::make_tuple(uint16_t(0x5555), dpf::gf2{1}), std::make_tuple(uint16_t(0x7FFF), dpf::gf2{1}), std::make_tuple(uint16_t(0x8000), dpf::gf2{1}), std::make_tuple(uint16_t(0xAAAA), dpf::gf2{1}), std::make_tuple(uint16_t(0xFFFF), dpf::gf2{1}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf22{1}), std::make_tuple(uint16_t(0x5555), dpf::gf22{2}), std::make_tuple(uint16_t(0x7FFF), dpf::gf22{3}), std::make_tuple(uint16_t(0x8000), dpf::gf22{1}), std::make_tuple(uint16_t(0xAAAA), dpf::gf22{2}), std::make_tuple(uint16_t(0xFFFF), dpf::gf22{3}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf24{1}), std::make_tuple(uint16_t(0x5555), dpf::gf24{0x6}), std::make_tuple(uint16_t(0x7FFF), dpf::gf24{0xa}), std::make_tuple(uint16_t(0x8000), dpf::gf24{0xf}), std::make_tuple(uint16_t(0xAAAA), dpf::gf24{0x2}), std::make_tuple(uint16_t(0xFFFF), dpf::gf24{0xd}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf28{1}), std::make_tuple(uint16_t(0x5555), dpf::gf28{0x1b}), std::make_tuple(uint16_t(0x7FFF), dpf::gf28{0x80}), std::make_tuple(uint16_t(0x8000), dpf::gf28{0xff}), std::make_tuple(uint16_t(0xAAAA), dpf::gf28{0x02}), std::make_tuple(uint16_t(0xFFFF), dpf::gf28{0x5a}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf216{1}), std::make_tuple(uint16_t(0x5555), dpf::gf216{0x2d}), std::make_tuple(uint16_t(0x7FFF), dpf::gf216{0x8000}), std::make_tuple(uint16_t(0x8000), dpf::gf216{0xffff}), std::make_tuple(uint16_t(0xAAAA), dpf::gf216{0x0002}), std::make_tuple(uint16_t(0xFFFF), dpf::gf216{0x1234}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf232{1}), std::make_tuple(uint16_t(0x5555), dpf::gf232{0x90200001u}), std::make_tuple(uint16_t(0x7FFF), dpf::gf232{0x80000000u}), std::make_tuple(uint16_t(0x8000), dpf::gf232{0xffffffffu}), std::make_tuple(uint16_t(0xAAAA), dpf::gf232{0x00000002u}), std::make_tuple(uint16_t(0xFFFF), dpf::gf232{0x13579bdfu}) }, { std::make_tuple(uint16_t(0x0000), dpf::gf264{1}), std::make_tuple(uint16_t(0x5555), dpf::gf264{0x11}), std::make_tuple(uint16_t(0x7FFF), dpf::gf264{0x8000000000000000ull}), std::make_tuple(uint16_t(0x8000), dpf::gf264{~std::uint64_t{0}}), std::make_tuple(uint16_t(0xAAAA), dpf::gf264{0x2}), std::make_tuple(uint16_t(0xFFFF), dpf::gf264{0x123456789abcdefull}) }, { std::make_tuple(custom_input_type(0x0000), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0x0000), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0x0000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0x0000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(custom_input_type(0x5555), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0x5555), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0x5555), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0x5555), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(custom_input_type(0x7FFF), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0x7FFF), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0x7FFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0x7FFF), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(custom_input_type(0x8000), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0x8000), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0x8000), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0x8000), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(custom_input_type(0xAAAA), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0xAAAA), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0xAAAA), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0xAAAA), uint64_t(0xFFFFFFFFFFFFFFFF)), std::make_tuple(custom_input_type(0xFFFF), uint64_t(0x0000000000000001)), std::make_tuple(custom_input_type(0xFFFF), uint64_t(0x5555555555555555)), std::make_tuple(custom_input_type(0xFFFF), uint64_t(0xAAAAAAAAAAAAAAAA)), std::make_tuple(custom_input_type(0xFFFF), uint64_t(0xFFFFFFFFFFFFFFFF)) }, { std::make_tuple(uint16_t(0x0000), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x0000), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x0000), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x0000), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x5555), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x5555), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x5555), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x5555), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x8000), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x8000), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x8000), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x8000), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_small(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_small(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_small(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_small(uint64_t(0xFFFFFFFFFFFFFFFF))) }, { std::make_tuple(uint16_t(0x0000), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_plus_minus(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_plus_minus(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_plus_minus(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_plus_minus(uint64_t(0xFFFFFFFFFFFFFFFF))) }, { std::make_tuple(uint16_t(0x0000), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x0000), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x5555), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x7FFF), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0x8000), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xAAAA), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_xor(uint64_t(0x0000000000000001))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_xor(uint64_t(0x5555555555555555))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_xor(uint64_t(0xAAAAAAAAAAAAAAAA))), std::make_tuple(uint16_t(0xFFFF), custom_output_type_large_xor(uint64_t(0xFFFFFFFFFFFFFFFF))) } }; #endif // LIBDPF_TEST_TESTS_HELPERS_EVAL_COMMON_DATA_HPP__