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