NaN functions

xtensor provides the following functions that deal with NaNs in xexpressions:

Defined in xtensor/xmath.hpp

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

Convert nan or +/- inf to numbers.

This functions converts nan to 0, and +inf to the highest, -inf to the lowest floating point value of the same type.

Return
an xexpression
Parameters

template <class E, class X, class EVS = evaluation_strategy::lazy, class = std::enable_if_t<!std::is_base_of<evaluation_strategy::base, std::decay_t<X>>::value, int>>
auto xt::nansum(E &&e, X &&axes, EVS es = EVS())

Sum of elements over given axes, replacing nan with 0.

Returns an xreducer for the sum of elements over given axes, replacing nan with 0.

Return
an xreducer
Parameters
  • e: an xexpression
  • axes: the axes along which the sum is performed (optional)
  • es: evaluation strategy of the reducer (optional)

template <class E, class X, class EVS = evaluation_strategy::lazy, class = std::enable_if_t<!std::is_base_of<evaluation_strategy::base, std::decay_t<X>>::value, int>>
auto xt::nanprod(E &&e, X &&axes, EVS es = EVS())

Product of elements over given axes, replacing nan with 1.

Returns an xreducer for the sum of elements over given axes, replacing nan with 1.

Return
an xreducer
Parameters
  • e: an xexpression
  • axes: the axes along which the sum is performed (optional)
  • es: evaluation strategy of the reducer (optional)

template <class E>
auto xt::nancumsum(E &&e)
template <class E>
auto xt::nancumsum(E &&e, std::size_t axis)

Cumulative sum, replacing nan with 0.

Returns an xaccumulator for the sum of elements over given axis, replacing nan with 0.

Return
an xaccumulator
Parameters
  • e: an xexpression
  • axis: the axis along which the elements are accumulated (optional)

template <class E>
auto xt::nancumprod(E &&e)
template <class E>
auto xt::nancumprod(E &&e, std::size_t axis)

Cumulative product, replacing nan with 1.

Returns an xaccumulator for the product of elements over given axis, replacing nan with 1.

Return
an xaccumulator
Parameters
  • e: an xexpression
  • axis: the axis along which the elements are accumulated (optional)