82 #ifdef TRITON_BOOST_INTERFACE
85 #if defined(WIDE_INTEGER_NAMESPACE)
86 using WIDE_INTEGER_NAMESPACE::math::wide_integer::detail::make_lo;
87 using WIDE_INTEGER_NAMESPACE::math::wide_integer::detail::make_hi;
89 using math::wide_integer::detail::make_lo;
90 using math::wide_integer::detail::make_hi;
94 std::numeric_limits<typename triton::uint80::limb_type>::digits * 2 == std::numeric_limits<typename triton::uint512::limb_type>::digits,
95 "Error: Wrong input/output limb types for this conversion"
98 using local_value_type =
typename triton::uint80::representation_type::value_type;
100 return triton::uint80::from_rep({
101 make_lo<local_value_type>(*(value.crepresentation().data() + 0U)),
102 make_hi<local_value_type>(*(value.crepresentation().data() + 0U)),
103 make_lo<local_value_type>(*(value.crepresentation().data() + 1U)),
104 make_hi<local_value_type>(*(value.crepresentation().data() + 1U)),
105 make_lo<local_value_type>(*(value.crepresentation().data() + 2U))
113 #ifdef TRITON_BOOST_INTERFACE
116 #if defined(WIDE_INTEGER_NAMESPACE)
117 using WIDE_INTEGER_NAMESPACE::math::wide_integer::detail::make_large;
119 using math::wide_integer::detail::make_large;
123 std::numeric_limits<typename triton::uint80::limb_type>::digits * 2 == std::numeric_limits<typename triton::uint512::limb_type>::digits,
124 "Error: Wrong input/output limb types for this conversion"
127 using local_value_type =
typename triton::uint80::representation_type::value_type;
129 return triton::uint512::from_rep({
130 make_large(*(value.crepresentation().data() + 0U), *(value.crepresentation().data() + 1U)),
131 make_large(*(value.crepresentation().data() + 2U), *(value.crepresentation().data() + 3U)),
132 make_large(*(value.crepresentation().data() + 4U),
static_cast<local_value_type
>(0U))