Comparison operators

Ordering:

eq()

per slot equals to comparison

neq()

per slot different from comparison

gt()

per slot strictly greater than comparison

lt()

per slot strictly lower than comparison

ge()

per slot greater or equal to comparison

le()

per slot lower or equal to comparison

Parity check:

is_even()

per slot check for evenness

is_odd()

per slot check for oddness

Floating point number check:

isinf()

per slot check for infinity

isnan()

per slot check for NaN

isfinite()

per slot check for finite number

is_flint()

per slot check for float representing an integer


template <class T, class A>
auto xsimd::eq(batch<T, A> const &x, batch<T, A> const &y)

Element-wise equality comparison of batches x and y.

Return

a boolean batch.

Parameters
  • x: batch of scalars

  • y: batch of scalars

template <class T, class A>
batch_bool<T, A> xsimd::ge(batch<T, A> const &x, batch<T, A> const &y)

Element-wise greater or equal comparison of batches x and y.

Return

a boolean batch.

Template Parameters
  • X: the actual type of batch.

Parameters
  • x: batch involved in the comparison.

  • y: batch involved in the comparison.

template <class T, class A>
batch_bool<T, A> xsimd::gt(batch<T, A> const &x, batch<T, A> const &y)

Element-wise greater than comparison of batches x and y.

Return

a boolean batch.

Template Parameters
  • X: the actual type of batch.

Parameters
  • x: batch involved in the comparison.

  • y: batch involved in the comparison.

template <class T, class A>
batch_bool<T, A> xsimd::is_even(batch<T, A> const &x)

Determines if the scalars in the given batch x represent an even integer value.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch_bool<T, A> xsimd::is_flint(batch<T, A> const &x)

Determines if the floating-point scalars in the given batch x represent integer value.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch_bool<T, A> xsimd::is_odd(batch<T, A> const &x)

Determines if the scalars in the given batch x represent an odd integer value.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch_bool<T, A> xsimd::isinf(batch<T, A> const &x)

Determines if the scalars in the given batch x are inf values.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch_bool<T, A> xsimd::isfinite(batch<T, A> const &x)

Determines if the scalars in the given batch x are finite values.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch<T, A>::batch_bool_type xsimd::isnan(batch<T, A> const &x)

Determines if the scalars in the given batch x are NaN values.

Return

a batch of booleans.

Parameters
  • x: batch of floating point values.

template <class T, class A>
batch_bool<T, A> xsimd::le(batch<T, A> const &x, batch<T, A> const &y)

Element-wise lesser or equal to comparison of batches x and y.

Return

a boolean batch.

Parameters
  • x: batch involved in the comparison.

  • y: batch involved in the comparison.

template <class T, class A>
batch_bool<T, A> xsimd::lt(batch<T, A> const &x, batch<T, A> const &y)

Element-wise lesser than comparison of batches x and y.

Return

a boolean batch.

Parameters
  • x: batch involved in the comparison.

  • y: batch involved in the comparison.

template <class T, class A>
auto xsimd::neq(batch<T, A> const &x, batch<T, A> const &y)

Element-wise inequality comparison of batches x and y.

Return

a boolean batch.

Parameters
  • x: batch involved in the comparison.

  • y: batch involved in the comparison.