check_rsqrt_impl< T > Struct Template Reference

Static Public Member Functions

static void run ()
 

Member Function Documentation

◆ run()

template<typename T >
static void check_rsqrt_impl< T >::run ( )
inlinestatic
158  {
159  const T zero = T(0);
160  const T one = T(1);
161  const T inf = std::numeric_limits<T>::infinity();
162  const T nan = std::numeric_limits<T>::quiet_NaN();
163 
164  for (int i = 0; i < 1000; ++i) {
165  const T x = numext::abs(internal::random<T>());
166  const T rsqrtx = numext::rsqrt(x);
167  const T invx = one / x;
168  VERIFY_IS_APPROX(rsqrtx * rsqrtx, invx);
169  }
170 
171  // Corner cases.
176  }
AnnoyingScalar abs(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:135
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
#define VERIFY_IS_APPROX(a, b)
Definition: integer_types.cpp:13
#define VERIFY(a)
Definition: main.h:362
#define VERIFY_IS_EQUAL(a, b)
Definition: main.h:367
#define isnan(X)
Definition: main.h:109
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T rsqrt(const T &x)
Definition: MathFunctions.h:1327
const Mdouble inf
Definition: GeneralDefine.h:23
list x
Definition: plotDoE.py:28
EIGEN_DONT_INLINE Scalar zero()
Definition: svd_common.h:232

References abs(), i, constants::inf, isnan, Eigen::numext::rsqrt(), VERIFY, VERIFY_IS_APPROX, VERIFY_IS_EQUAL, plotDoE::x, and zero().

Referenced by check_rsqrt().


The documentation for this struct was generated from the following file: