Classification functions

xtensor provides the following classification functions for xexpressions and scalars:

Defined in xtensor/xmath.hpp

template <class E>
auto xt::isfinite(E &&e)

finite value check

Returns an xfunction for the element-wise finite value check tangent of e.

Return
an xfunction
Parameters

template <class E>
auto xt::isinf(E &&e)

infinity check

Returns an xfunction for the element-wise infinity check tangent of e.

Return
an xfunction
Parameters

template <class E>
auto xt::isnan(E &&e)

NaN check.

Returns an xfunction for the element-wise NaN check tangent of e.

Return
an xfunction
Parameters

template <class E1, class E2>
auto xt::isclose(E1 &&e1, E2 &&e2, double rtol = 1e-05, double atol = 1e-08, bool equal_nan = false)

Element-wise closeness detection.

Returns an xfunction that evaluates to true if the elements in e1 and e2 are close to each other according to parameters atol and rtol. The equation is: std::abs(a - b) <= (m_atol + m_rtol * std::abs(b)).

Return
an xfunction
Parameters
  • e1: input array to compare
  • e2: input array to compare
  • rtol: the relative tolerance parameter (default 1e-05)
  • atol: the absolute tolerance parameter (default 1e-08)
  • equal_nan: if true, isclose returns true if both elements of e1 and e2 are NaN

template <class E1, class E2>
auto xt::allclose(E1 &&e1, E2 &&e2, double rtol = 1e-05, double atol = 1e-08)

Check if all elements in e1 are close to the corresponding elements in e2.

Returns true if all elements in e1 and e2 are close to each other according to parameters atol and rtol.

Return
a boolean
Parameters
  • e1: input array to compare
  • e2: input arrays to compare
  • rtol: the relative tolerance parameter (default 1e-05)
  • atol: the absolute tolerance parameter (default 1e-08)