Batch of complex numbers

template <class T, class A>
template<>
class xsimd::batch<std::complex<T>, A>

batch of complex values.

Abstract representation of an SIMD register for complex values.

Template Parameters
  • T: the type of the underlying values.

  • A: the architecture this batch is tied too.

Public Types

template<>
using value_type = std::complex<T>

Type of the complex elements within this batch.

template<>
using real_batch = batch<T, A>

Type of the scalar elements within this batch.

template<>
using arch_type = A

SIMD Architecture abstracted by this batch.

template<>
using batch_bool_type = batch_bool<T, A>

Associated batch type used to represented logical operations on this batch.

Public Functions

XSIMD_INLINE batch()

Create a batch initialized with undefined values.

Public Static Attributes

constexpr std::size_t size = real_batch::size

Number of complex elements in this batch.

Friends

XSIMD_INLINE batch operator+(batch const & self, batch const & other)

Shorthand for xsimd::add()

XSIMD_INLINE batch operator-(batch const & self, batch const & other)

Shorthand for xsimd::sub()

XSIMD_INLINE batch operator*(batch const & self, batch const & other)

Shorthand for xsimd::mul()

XSIMD_INLINE batch operator/(batch const & self, batch const & other)

Shorthand for xsimd::div()

Operations specific to batches of complex numbers

XTL complex support

If the preprocessor token XSIMD_ENABLE_XTL_COMPLEX is defined, xsimd provides constructors of xsimd::batch< std::complex< T >, A > from xtl::xcomplex, similar to those for std::complex. This requires xtl to be installed.