simdpp::shift_l(scalar)
From libsimdpp-docs
< int
template<unsigned N, class E1>
Ret<N, _DETAIL_> shift_l( const Vec1<N,E1>& a, unsigned shift ); |
||
template<unsigned shift, unsigned N, class E1>
Ret<N, _DETAIL_> shift_l( const Vec1<N,E1>& a ); |
||
Shifts values in the given integer vector left by shift
bits. Zero bits are shifted in.
The number of bits to shift must be between 0
and e_bits - 1
inclusive, where e_bits
is the number of bits in the element type.
The implementation behaves as if the following set of overloads is provided:
Ret
|
Vec1
|
---|---|
int8 | int8 |
uint8 | uint8 |
int16 | int16 |
uint16 | uint16 |
int32 | int32 |
uint32 | uint32 |
int64 | int64 |
uint64 | uint64 |
The return type is a vector expression.
Parameters[edit]
a | - | integer vector |
shift | - | the number of bits to shift |
Return value[edit]
A vector expression evaluating to a << shift
.
Equivalent operation[edit]
r0 = a0 << shift ... rN = aN << shift
See also[edit]
performs left shift by vector (function template) |