Template Class SingleQubitGateWithParamHelper

Class Documentation

template<SingleQubitGateWithParam AVXImpl, typename ParamT>
class SingleQubitGateWithParamHelper

A Helper class for single-qubit gates with parameters.

Public Types

using Precision = typename AVXImpl::Precision
using ReturnType = typename FuncReturn<decltype(AVXImpl::template applyExternal<ParamT>)>::Type
using FuncType = ReturnType (*)(std::complex<Precision>*, std::size_t, const std::vector<std::size_t>&, bool, ParamT)

Public Functions

inline explicit SingleQubitGateWithParamHelper(FuncType fallback_func)
inline auto operator()(std::complex<Precision> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle) const -> ReturnType

This function calls corresponding AVX2/512 kernel functions by finding the correct one based on wires.

Parameters
  • arr – Pointer to a statevector array

  • num_qubits – Number of qubits

  • wires – Wires the gate applies to

  • inverse – Apply the inverse of the gate when true

  • angle – Parameter of the gate

Public Static Attributes

static constexpr std::size_t packed_size = AVXImpl::packed_size_