Bug #1785: Introduce numext::rint.

This provides a new op that matches std::rint and previous behavior of
pround. Also adds corresponding unsupported/../Tensor op.
Performance is the same as e. g. floor (tested SSE/AVX).
This commit is contained in:
Ilya Tokar
2019-12-16 16:00:35 -05:00
parent d0ae052da4
commit 19876ced76
12 changed files with 117 additions and 1 deletions

View File

@@ -394,6 +394,17 @@ This also means that, unless specified, if the function \c std::foo is available
plus \c using <a href="http://en.cppreference.com/w/cpp/numeric/math/round">\c std::round </a>; \cpp11</td>
<td>SSE4,AVX,ZVector (f,d)</td>
</tr>
<tr>
<td class="code">
\anchor cwisetable_rint
a.\link ArrayBase::rint rint\endlink(); \n
\link Eigen::rint rint\endlink(a);
</td>
<td>nearest integer, \n rounding to nearest even in halfway cases</td>
<td>built-in generic implementation using <a href="http://en.cppreference.com/w/cpp/numeric/math/rint">\c std::rint</a>
or <a href="http://en.cppreference.com/w/c/numeric/math/rint">\c rintf</a>; </td>
<td>SSE4,AVX (f,d)</td>
</tr>
<tr>
<th colspan="4">Floating point manipulation functions</th>
</tr>