## ◆ ror()

 Value boost::simd::ror ( Value const & x, IntegerValue const & n )

This function object returns the first entry rotated right by the value of the second entry.

Note
This function asserts if the integral parameter is out of range
rol, rror, rrol
Example:
#include <boost/simd/bitwise.hpp>
#include <boost/simd/pack.hpp>
#include <iostream>
namespace bs = boost::simd;
using iT = std::int32_t;
using pack_it = bs::pack<iT, 4>;
int main() {
pack_it pi = {1, 2, -1, 3};
pack_it qi = {1, 2, 4, 3};
std::cout << "---- simd" << '\n'
<< "<- pi = " << pi << '\n'
<< "<- qi = " << qi << '\n'
<< "-> bs::ror(pi, qi) = " << bs::ror(pi, qi) << '\n';
iT xi = 2, yi = 3;
std::cout << "---- scalar" << '\n'
<< "<- xi = " << xi << '\n'
<< "<- yi = " << yi << '\n'
<< "-> bs::ror(xi, yi) = " << bs::ror(xi, yi) << '\n';
return 0;
}
Possible output:
---- simd
<- pi = (1, 2, -1, 3)
<- qi = (1, 2, 4, 3)
-> bs::ror(pi, qi) = (-2147483648, -2147483648, -1, 1610612736)
---- scalar
<- xi = 2
<- yi = 3
-> bs::ror(xi, yi) = 1073741824