libdpf/test/tests/helpers/eval_common_data.hpp

728 lines
58 KiB
C++
Raw Permalink Normal View History

#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 <typename InputT,
typename OutputT>
using test_type = std::tuple<InputT, OutputT>;
template <typename InputT,
typename OutputT>
using param_type = std::vector<test_type<InputT, OutputT>>;
using dpf::literals::operator""_bitstring;
using dpf::literals::operator""_bitstring_8;
static std::tuple
<
// base test
param_type<uint16_t, uint64_t>,
// test input types
param_type<int16_t, uint64_t>,
param_type<uint8_t, uint64_t>,
param_type<uint64_t, uint64_t>,
param_type<simde_int128, uint64_t>,
param_type<simde_uint128, uint64_t>,
param_type<dpf::bitstring<10>, uint64_t>,
param_type<dpf::keyword<3, dpf::alphabets::hex>, uint64_t>,
param_type<dpf::modint<10>, uint64_t>,
param_type<dpf::xor_wrapper<int16_t>, uint64_t>,
param_type<dpf::xor_wrapper<uint16_t>, uint64_t>,
// test output types
param_type<uint16_t, int64_t>,
param_type<uint16_t, uint8_t>,
param_type<uint16_t, simde_int128>,
param_type<uint16_t, simde_uint128>,
param_type<uint16_t, dpf::bit>,
param_type<uint16_t, dpf::bitstring<20, uint8_t>>,
param_type<uint16_t, dpf::bitstring<150>>,
param_type<uint16_t, dpf::xor_wrapper<int64_t>>,
param_type<uint16_t, dpf::xor_wrapper<uint64_t>>,
param_type<uint16_t, dpf::gf2>,
param_type<uint16_t, dpf::gf22>,
param_type<uint16_t, dpf::gf24>,
param_type<uint16_t, dpf::gf28>,
param_type<uint16_t, dpf::gf216>,
param_type<uint16_t, dpf::gf232>,
param_type<uint16_t, dpf::gf264>,
// custom types
param_type<custom_input_type, uint64_t>,
param_type<uint16_t, custom_output_type_small>,
param_type<uint16_t, custom_output_type_large_plus_minus>,
param_type<uint16_t, custom_output_type_large_xor>
> 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>(int16_t(0x0000)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x0000)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x0000)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x0000)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x5555)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x5555)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x5555)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x5555)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x7FFF)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x7FFF)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x7FFF)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x7FFF)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x8000)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x8000)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x8000)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0x8000)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xAAAA)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xAAAA)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xAAAA)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xAAAA)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xFFFF)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xFFFF)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xFFFF)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<int16_t>(int16_t(0xFFFF)), uint64_t(0xFFFFFFFFFFFFFFFF))
},
{
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x0000)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x0000)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x0000)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x0000)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x5555)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x5555)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x5555)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x5555)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x7FFF)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x7FFF)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x7FFF)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x7FFF)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x8000)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x8000)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x8000)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0x8000)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xAAAA)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xAAAA)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xAAAA)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xAAAA)), uint64_t(0xFFFFFFFFFFFFFFFF)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xFFFF)), uint64_t(0x0000000000000001)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xFFFF)), uint64_t(0x5555555555555555)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(uint16_t(0xFFFF)), uint64_t(0xAAAAAAAAAAAAAAAA)),
std::make_tuple(dpf::xor_wrapper<uint16_t>(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>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<int64_t>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<int64_t>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<int64_t>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<int64_t>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<int64_t>(int64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<int64_t>(int64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<int64_t>(int64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<int64_t>(int64_t(0xFFFFFFFFFFFFFFFF)))
},
{
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x0000), dpf::xor_wrapper<uint64_t>(uint64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x5555), dpf::xor_wrapper<uint64_t>(uint64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x7FFF), dpf::xor_wrapper<uint64_t>(uint64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0x8000), dpf::xor_wrapper<uint64_t>(uint64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0xAAAA), dpf::xor_wrapper<uint64_t>(uint64_t(0xFFFFFFFFFFFFFFFF))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<uint64_t>(uint64_t(0x0000000000000001))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<uint64_t>(uint64_t(0x5555555555555555))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<uint64_t>(uint64_t(0xAAAAAAAAAAAAAAAA))),
std::make_tuple(uint16_t(0xFFFF), dpf::xor_wrapper<uint64_t>(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__