Classification functions

xtensor provides the following classification functions for xexpressions and scalars:

Defined in xtensor/xmath.hpp

template<class E>
inline auto xt::isfinite(E &&e) noexcept -> detail::xfunction_type_t<math::isfinite_fun, E>

finite value check

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

Parameters:

e – an xexpression

Returns:

an xfunction

template<class E>
inline auto xt::isinf(E &&e) noexcept -> detail::xfunction_type_t<math::isinf_fun, E>

infinity check

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

Parameters:

e – an xexpression

Returns:

an xfunction

template<class E>
inline auto xt::isnan(E &&e) noexcept -> detail::xfunction_type_t<math::isnan_fun, E>

NaN check.

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

Parameters:

e – an xexpression

Returns:

an xfunction

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

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)).

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

Returns:

an xfunction

Warning

doxygenfunction: Unable to resolve function “allclose” with arguments (E1&&, E2&, double, double) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:

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