E.V.E
v2023.02.15
Loading...
Searching...
No Matches
◆
lo
eve::lo = functor<lo_t>
inline
constexpr
Header file
#include <eve/module/core.hpp>
Callable Signatures
namespace
eve
{
constexpr
auto
lo
(
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::lo
constexpr auto lo
Computes the least significant half of each lane.
Definition
lo.hpp:73
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
lower 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
hilo
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 <<
"-> lo(wf0) = "
<<
eve::lo
(
wf0
) <<
"\n"
;
std::cout <<
"-> lo(wu0) = "
<<
eve::lo
(
wu0
) <<
"\n"
;
std::cout <<
"-> lo(wi0) = "
<<
eve::lo
(
wi0
) <<
"\n"
;
}
eve::wide
Wrapper for SIMD registers.
Definition
wide.hpp:94
eve