E.V.E
v2023.02.15
Loading...
Searching...
No Matches
◆
lohi
eve::lohi = functor<lohi_t>
inline
constexpr
Header file
#include <eve/module/core.hpp>
Callable Signatures
namespace
eve
{
constexpr
auto
lohi
(
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::lohi
constexpr auto lohi
elementwise_callable computing the the lohi pair of values.
Definition
lohi.hpp:69
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
the lower and higher parts of the input values, as a pair of unsigned integers of half size
The call
[l, h] =
lohi(x)
is_semantically equivalent to
l =
lo(x)
; h =
hi(x)
;
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 <<
"-> lo(wf0) = "
<<
eve::lo
(
wf0
) <<
"\n"
;
std::cout <<
"-> lo(wu0) = "
<<
eve::lo
(
wu0
) <<
"\n"
;
std::cout <<
"-> lo(wi0) = "
<<
eve::lo
(
wi0
) <<
"\n"
;
}
eve::lo
constexpr auto lo
Computes the least significant half of each lane.
Definition
lo.hpp:73
eve::wide
Wrapper for SIMD registers.
Definition
wide.hpp:94
eve