Template Class TwoQubitGateWithoutParamHelper¶
Defined in File TwoQubitGateHelper.hpp
Class Documentation¶
-
template<class AVXImpl>
class TwoQubitGateWithoutParamHelper¶ A helper class for two-qubit gate without parameters.
Public Types
-
using FuncType = ReturnType (*)(std::complex<Precision>*, std::size_t, const std::vector<std::size_t>&, bool)¶
Public Functions
-
inline auto operator()(std::complex<Precision> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse) const -> ReturnType¶
requires SymmetricTwoQubitGateWithoutParam<AVXImpl> A specialization for symmetric two-qubit gates (control and target wires are symmetric), which calls the correct AVX2/512 kernel functions 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
-
inline auto operator()(std::complex<Precision> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse) const -> ReturnType¶
requires AsymmetricTwoQubitGateWithoutParam<AVXImpl> A specialization for asymmetric two-qubit gates (control and target wires are asymmetric), which calls the correct AVX2/512 kernel functions 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
-
using FuncType = ReturnType (*)(std::complex<Precision>*, std::size_t, const std::vector<std::size_t>&, bool)¶