◆ floor()

Value boost::simd::floor ( Value const &  x)

This function object computes the greatest integral representable value of its parameter type which is less or equal to it.

Header <boost/simd/function/floor.hpp>
Notes
  • floor is also used as parameter to pass to div or rem
Decorators
  • std_ for floating entries call std::floor
See also
ceil, round, nearbyint, trunc, ifloor
Example:
#include <boost/simd/arithmetic.hpp>
#include <boost/simd/pack.hpp>
#include <boost/simd/function/enumerate.hpp>
#include <iostream>
namespace bs = boost::simd;
using pack_ft = bs::pack <float, 8>;
int main()
{
pack_ft pf = bs::enumerate<pack_ft>(-2.56, 0.51);
std::cout
<< "---- simd" << '\n'
<< " <- pf = " << pf << '\n'
<< " -> bs::floor(pf) = " << bs::floor(pf) << '\n';
float xf = 3.2f, yf = -3.2f;
std::cout
<< "---- scalar" << '\n'
<< " <- xf = " << xf<< '\n'
<< " -> bs::floor(xf) = " << bs::floor(xf) << '\n'
<< " <- yf = " << yf << '\n'
<< " -> bs::floor(yf) = " << bs::floor(yf) << '\n';
return 0;
}
Possible output:
---- simd
<- pf = (-2.56, -2.05, -1.54, -1.03, -0.52, -0.00999999, 0.5, 1.01)
-> bs::floor(pf) = (-3, -3, -2, -2, -1, -1, 0, 1)
---- scalar
<- xf = 3.2
-> bs::floor(xf) = 3
<- yf = -3.2
-> bs::floor(yf) = -4