Conditional expression

select()

conditional selection with mask


Warning

doxygenfunction: Unable to resolve multiple matches for function “select” with arguments (batch_bool<T, A> const &cond, batch<T, A> const &true_br, batch<T, A> const &false_br) noexcep) in doxygen xml output for project “xsimd” from directory: ../xml. Potential matches:

- template <class T, class A, bool... *Values*>
  batch<T, A> xsimd::select(batch_bool_constant<batch<T, A>, Values...> const&, batch<T, A> const&, batch<T, A> const&)
- template <class T, class A>
  batch<T, A> xsimd::select(batch_bool<T, A> const&, batch<T, A> const&, batch<T, A> const&)
- template <class T, class A>
  batch<std::complex<T>, A> xsimd::select(batch_bool<T, A> const&, batch<std::complex<T>, A> const&, batch<std::complex<T>, A> const&)

Warning

doxygenfunction: Unable to resolve multiple matches for function “select” with arguments (batch_bool_constant<batch<T, A>, Values…> const &cond, batch<T, A> const &true_br, batch<T, A> const &false_br) noexcep) in doxygen xml output for project “xsimd” from directory: ../xml. Potential matches:

- template <class T, class A, bool... *Values*>
  batch<T, A> xsimd::select(batch_bool_constant<batch<T, A>, Values...> const&, batch<T, A> const&, batch<T, A> const&)
- template <class T, class A>
  batch<T, A> xsimd::select(batch_bool<T, A> const&, batch<T, A> const&, batch<T, A> const&)
- template <class T, class A>
  batch<std::complex<T>, A> xsimd::select(batch_bool<T, A> const&, batch<std::complex<T>, A> const&, batch<std::complex<T>, A> const&)

In the specific case when one needs to conditionnaly increment or decrement a batch based on a mask, incr_if() and decr_if() provide specialized version.