E.V.E
v2023.02.15
Loading...
Searching...
No Matches
◆
hi
eve::hi = functor<hi_t>
inline
constexpr
Header file
#include <eve/module/core.hpp>
Callable Signatures
namespace
eve
{
constexpr
auto
hi
(
value
auto
x
)
noexcept
;
}
eve::value
The concept value<T> is satisfied if and only if T satisfies either eve::scalar_value or eve::simd_va...
Definition
value.hpp:34
eve::hi
constexpr auto hi
elementwise_callable computing the most significant half of each lane.
Definition
hi.hpp:71
eve::translate_t
typename decltype(detail::as_translated_type(as< T >{}))::type translate_t
Returns the final translated type of T.
Definition
translation.hpp:107
eve
EVE Main Namespace.
Definition
abi.hpp:19
Parameters
x
:
argument
.
Return value
Computes the
elementwise
higher significant half of the value bits, returning each element as an unsigned integer of half the size of the input element.
Note
If you also need the lower part
lohi
is more efficient.
Example
// revision 0
#include <eve/module/core.hpp>
#include <iostream>
int
main
()
{
eve::wide
wf0
{0.0, 1.0, 2.0, 3.0, -1.0, -2.0, -3.0, -4.0};
eve::wide
wi0
{0, 1, 2, 3, -1, -2, -3, -4};
eve::wide
wu0
{0
u
, 1u, 2u, 3u, 4u, 5u, 6u, 7u};
std::cout <<
"<- wf0 = "
<<
wf0
<<
"\n"
;
std::cout <<
"<- wi0 = "
<<
wi0
<<
"\n"
;
std::cout <<
"<- wu0 = "
<<
wu0
<<
"\n"
;
std::cout <<
"-> hi(wf0) = "
<<
eve::hi
(
wf0
) <<
"\n"
;
std::cout <<
"-> hi(wu0) = "
<<
eve::hi
(
wu0
) <<
"\n"
;
std::cout <<
"-> hi(wi0) = "
<<
eve::hi
(
wi0
) <<
"\n"
;
}
eve::wide
Wrapper for SIMD registers.
Definition
wide.hpp:94
eve