Add round, ceil and floor for SSE4.1/AVX (Bug #70)

This commit is contained in:
Alexandre Avenel
2015-11-01 10:49:27 +01:00
parent b32948c642
commit d46e2c10a6
3 changed files with 46 additions and 4 deletions

View File

@@ -296,6 +296,10 @@ template<typename Scalar> void packetmath_real()
EIGEN_ALIGN_MAX Scalar data2[PacketTraits::size*4];
EIGEN_ALIGN_MAX Scalar ref[PacketTraits::size*4];
CHECK_CWISE1_IF(PacketTraits::HasRound, std::round, internal::pround);
CHECK_CWISE1_IF(PacketTraits::HasCeil, std::ceil, internal::pceil);
CHECK_CWISE1_IF(PacketTraits::HasFloor, std::floor, internal::pfloor);
for (int i=0; i<size; ++i)
{
data1[i] = internal::random<Scalar>(-1,1) * std::pow(Scalar(10), internal::random<Scalar>(-3,3));